作者 : totorocyx 邮箱 : [email protected]
Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。 点击访问官网
pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 的 Python 接口。
GitHub传送门:GitHub
pip install pyecharts
然后打开一个python或ipython终端,输入:
from pyecharts import Bar
若没有报错,即安装成功。
推荐使用ipython notebook,可以即时显示动态图像。下面给出一个绘制例子:
from pyecharts import Bar
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱状图数据堆叠示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
bar.render()
具体绘制功能可以参考 官方中文版帮助文档
绘制出图像后,图像右侧有“下载到本地”的功能按钮,但是目前只支持png格式。若需要保存为其它格式(如jpeg、pdf等),需结合插件来进一步实现。尤其是需要将图片插入到论文中时,png格式的图片放大了会很模糊。这时候就需要使用pyecharts-snapshot将其转换为pdf格式,以最大限度保留清晰度。
Step① 要使用snapshot,需先确保电脑正确安装Phantomjs,才能正常工作,否则会报错。安装教程如下:
先寻找适合自己系统的版本进行下载,下载链接:Phantomjs下载
# 更新软件列表 & 更新软件
sudo apt-get update
sudo apt-get upgrade
# 下载包
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
# 解压
tar -xzvf phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
# 进入路径
cd phantomjs-2.5.0-beta-ubuntu-xenial/bin
# 赋予权限
chmod +x phantomjs
# 查看版本号
phantomjs -v
# 若显示版本号,如 2.1.1 则生效
下载后解压,放在自己喜欢的位置,然后打开终端:
# 进入bin目录
cd phantomjs-2.5.0-beta-ubuntu-xenial/bin
# 赋予权限(这一步很重要)
chmod +x phantomjs
# 编辑根目录下的.bash_profile文件
vi .bash_profile
# 在底部添加如下一行
# 其中/Users/Documents/phantomjs-2.1.1-macosx/bin/是我的bin目录的路径
export PATH="/Users/Documents/phantomjs-2.1.1-macosx/bin/:$PATH"
# 使其生效
source .bash_profile
# 查看版本号
phantomjs -v
# 若显示版本号,如 2.1.1 则生效
Step② 安装pyecharts-snapshot
# 安装
pip install pyecharts-snapshot
安装完毕。具体使用方法是,先绘制图像,然后库中的函数make_a_snapshot进行保存,见如下示例代码:
from pyecharts import Line, Pie, Grid
from pyecharts_snapshot.main import make_a_snapshot
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line.render('test.html')
make_a_snapshot('test.html', 'test.pdf')
这样test.pdf就保存在当前工作目录下了。
P.S. 还有一种使用方法,就是先绘制出图像,并且有使用render函数生成html,那么在html文件所在工作目录下,打开终端,输入:
snapshot render.html pdf
snapshot函数后的第一个参数是要转换的html文件,第二个参数是要输出的格式。回车运行即可。具体可见官方参考文档。
(END)