echarts是百度开源的一款js的图表库,界面很酷炫,使用也不复杂。但还是不够pythonic,对吧。 pyecharts来了。 先看一个图,还不错对吧: django里是可以直接支持的, import math html里的模板如下,包括3个变量即可: <!-- myfirstvis/templates/pyecharts.html --><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Proudly presented by PycCharts</title> {% for jsfile_name in script_list %} <script src="{{host}}/{{jsfile_name}}.js"></script> {% endfor %} </head> <body> {{myechart|safe}} </body> </html> 有没有把问题复杂化,仁者见仁,相信后端的开发者会喜欢。 这原本就是html/js的模式,在网页里使用不算难事,但可否在GUI的程序里使用呢,如本文开头的图示就是pyqt里的调用。很自然想到是pyqt里嵌入图片,那就变成静态的了,echarts最大的优点是,它是动态图,你可以改变它的轴,时间,还是显示样式等。否则使用matplotlib就好了。 我们可以把pyecharts生成的html使用webview控件来呈现。 这里再引入一个库QtPy, Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets. 它构建在pyqt5/pyside之上,还有一些自定义的控件。这个也不需要额外安装,anaconda里本来就有。 Qt慢慢淘汰了古老的Webkit ,用WebEngine框架代替掉了。Webengine与webkit不同的是它是基于Chromium引擎的,也就是集成谷歌的引擎。所以这里我们使用WebEngine。 如果说在网页里使用echarts也很容易的话,那要在gui的程序里使用,再自己去写js,然后一个个去拼成网页,那工作量大,且不好维护,那pyecharts就是一个神器了。 明天用真实的数据去展现一下。 关于作者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏爱python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。 |
|