pygal and matplotlib(again)
之前项目有用过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, 另外首次使用了 AnacondaPython distribution, 感觉太爽了, 该有的库都有了.
pygal and matplotlib(again)的更多相关文章
- 【Data Visual】一文搞懂matplotlib数据可视化
一文搞懂matplotlib数据可视化 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为 ...
- 【Matplotlib】数据可视化实例分析
数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...
- 安装matplotlib 和Pygal
一. 在Linux系统中安装matplotlib 如果我们使用的是系统自带的Python版本,可使用系统的包管理器来安装matplotlib,为此只需执行一行命令: $ sudo apt-get i ...
- Python3 数据可视化之matplotlib、Pygal、requests
matplotlib的学习和使用 matplotlib的安装 pip3 install matplotlib 简单的折线图 import matplotlib.pyplot as plt #绘制简单的 ...
- 初探Matplotlib
初探Matplotlib 例子来自此书: <Python编程从入门到实战>[美]Eric Matthes 使用pyplot绘图,一般的导入方法import matplotlib.pyplo ...
- Python之matplotlib画图
折线图: Matplotlib处理csv文件 这里写两个其他的. 柱状图,柱状图个人喜欢用pygal来画,有两篇文章 - Pygal之掷骰子 和 pygal之掷骰子 - 2颗面数为6的骰子.下面用ma ...
- python安装numpy、scipy和matplotlib等whl包的方法
最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...
- matplotlib 高级用法实例--共享x轴
http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...
- Python matplotlib笔记
可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟 ...
随机推荐
- 【codevs1227】 方格取数 2
http://codevs.cn/problem/1227/ (题目链接) 题意 N*N的方格,每个格子中有一个数,寻找从(1,1)走到(N,N)的K条路径,使得取到的数的和最大. Solution ...
- 【codevs1743】 反转卡片
http://codevs.cn/problem/1743/ (题目链接) 题意 给出一个序列{a1,a2,a3···},要求维护这样一种操作:将前a1个数反转,若第a1等于1,则停止操作. Solu ...
- bzoj1724: [Usaco2006 Nov]Fence Repair 切割木板
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...
- vijos2001 xor-sigma
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- Android成长日记-数据存储之SQLite[1]
[SQLite简介] SQLite是R.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行 ---支持高达2TB大小的数据库: ...
- 浅析初等贪吃蛇AI算法
作为小学期程序设计训练大作业的一部分,也是自己之前思考过的一个问题,终于利用小学期完成了贪吃蛇AI的一次尝试,下作一总结. 背景介绍: 首先,我针对贪吃蛇AI这一关键词在百度和google上尽心了检索 ...
- 为什么要用Markdown写东西
为什么要用Markdown 不用费心去调格式了,比方说题目加粗什么的,删除线什么的,代码也只要四个空格就好了~ 学起来很简单,几乎没什么学习成本,而收益却很大 这几乎快让我我想从cnblog转到简书了 ...
- web前端环境搭建
第一部分:浏览器 浏览器推荐chrome浏览器.FireFox浏览器. 1. chrome浏览器因为集成了Google Developer Tools(谷歌开发者工具),因此大受欢迎. 下载地址:ht ...
- angular随笔
angular个别情况scope值不能改变或者不能绑定[如:指令内ctrl.$setViewValue()不能直接改变input的val值,该处需要使用scope.$apply] 如之前写的简单指令 ...
- MySQL------Navicat激活方法
转载: http://www.jianshu.com/p/b1f9194e1e31