当python撞上echarts时,会产生怎样的火花?答案就是pyecharts!从上一篇《pyechart在手,天下我有(地图篇)》,已经看到它的魅力所在了,今天继续介绍其它图表的绘制,尤其是报告中常见的图表。
绘图步骤:
from pyecharts import Chart,configure #导入所需绘图函数
configure(output_image=True) #可以将图表保存为svg/jpeg/png/pdf/gif
chart = Chart('主标题','副标题') #Chart是我们绘图函数
attr = ['x1','x2','x3','x4'] #attr是属性,也就是常见的X轴标签
v = [y1,y2,y3,y4] #v是各个属性对应的值,也就是常见的Y值
chart.use_theme() #设置图表主题
chart.add('图标',attr,v) #add画图图层,添加我们所需的参数
chart.render(path = '***.jpeg') #图表输出,path是输出路径
render会默认将图表输出为html格式,可在浏览器打开。但是想要插入到ppt当中,清晰度会下降,因此需要将其转化为其他格式,如svg/jpeg/png/pdf/gif 等等。要实现格式的转换,需要安装:
- Nodejs
$ npm install -g phantomjs-prebuilt
$ pip install pyecharts-snapshot
常用的参数(可以在add()中设置,实现各种需求):
- is stack:是否堆积
- is convert:x,y轴是否交换
- is_legend_show:是否显示图例
- legend_orient:图列方向,有'horizontal'(默认水平显示),'vertical'(垂直)可选
- legend_pos:图例位置,有'left', 'center'(默认), 'right'可选
- legend_text_size/color:图例名称字体大小/颜色
- is_x/yaxis_show:是否显示x/y轴
- x/yaxis_interval:x/y轴标签的显示间隔
- x/yaxis_min/max:x/y轴刻度最小值/最大值
- x/yaxis_label_textsize/textcolor:x/y轴标签字体大小/颜色
- xaxis_rotate:x轴标签旋转角度
- is_splitline_show:是否显示网格线
- is_label_show:是否显示标签
- label_pos:标签的位置,有'top'(默认), 'left', 'right', 'bottom', 'inside','outside'可选
- label_text_color/size:标签字体颜色/大小
- is_random:是否随机排列颜色列表
- label_color:自定义标签颜色
- mark_point/line:标记点/线,默认有'min&#