博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pygal and matplotlib(again)
阅读量:5305 次
发布时间:2019-06-14

本文共 1494 字,大约阅读时间需要 4 分钟。

之前项目有用过pygal做chart图, 写代码很容易,几行代码就很做出一个看上去还不错的chart, 缺点是: 要调的再美观很难, Web上的交互效果较差. 在web上做可视化还是推荐采用Echarts或HighCharts  Javascript库.  

碰到个需求, 需要在pptx中生成chart图, 这个需求没有交互性要求, 需要封装成web service, 因为之前有使用pygal的经验, 这次打算继续使用pygal. 总体思路, 使用pygal生成chart矢量图, 然后到导出成png图片文件, 最后再将图片合并到pptx中.
参考文章 Creating Powerpoint Presentations with Python
http://pbpython.com/creating-powerpoint.html
===================
pygal
===================
pygal导出png的功能, 需要安装tinycss, cssselect, cairosvg(或pycairo)包.  tinycss, cssselect安装很简单. 对于cairosvg(或pycairo)包, pygal 推荐的是cairosvg, 好像是因为cairosvg安装相对简单些, 但我发现这货安装也很复杂, python包的依赖比较多, 分别是:
    pycparser  
    cffi,
    cairocffi,
    cairosvg
其中, cairocffi 用pip和easyinstall安装都未成功, 直接解压文件到site-packages, 完成安装.
另外, CairoSVG 其实是 cairo C类库的binding, 所以还需要安装cairo库 , windows版编译版和安装见下面的so讨论.
http://stackoverflow.com/questions/28211418/python-oserror-cannot-load-library-libcairo-so-2
我按照 Sk8erPeter 的建议的步骤, 完成了全部的配置.
下面是 pycairo 的windows 预编译版, 我暂时没用到, 也未做测试.
http://www.salsabeatmachine.org/python/pycairo-win32-packages.html
http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/pycairo-1.8.10.win32-py2.7.exe
===================
matplotlib
===================
我顺便调研了一下使用matplotlib如何在web上展现图片. matplotlib和pygal相比, 灵活性强多了, 功能更加强大, 几乎能画出任何类型的chart.  
见Miguel 大牛的答复: http://stackoverflow.com/questions/20107414/passing-a-matplotlib-figure-to-html-flask

 

20150915补记, 因为pygal限制太多, 项目最后采用了matplotlib, 另外首次使用了 Python distribution, 感觉太爽了, 该有的库都有了.

转载于:https://www.cnblogs.com/harrychinese/p/pygal_and_matplotlib.html

你可能感兴趣的文章
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
右侧导航栏(动态添加数据到list)
查看>>
81、iOS本地推送与远程推送详解
查看>>
虚拟DOM
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
关于View控件中的Context选择
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
Spark的启动进程详解
查看>>
使用命令创建数据库和表
查看>>
数据库的高级查询
查看>>
机器视觉:SSD Single Shot MultiBox Detector
查看>>
201521123044 《Java程序设计》第1周学习总结
查看>>
MIT Scheme 的基本使用
查看>>
程序员的“机械同感”
查看>>