2020年初,很久没有用过pyecharts的我由于工作原因,安装了新版pyecharts之后,以前的pyecharts代码报错了。搜索之后才发现,我安装的是不兼容旧版本的新版。
空闲的时间,把新版echart当作新的模块梳理了一下,整理为便于理解的形式。
参考网址:A Python Echarts Plotting Library
这里描述了设置柱状图6大元素、柱状图转置XY轴、堆叠柱状图的方法。
了解清楚了柱状图,其他图形应该就无师自通啦,框架结构都是一样的,参数不同而已,看一下文档就行啦~
一、设置柱状图6大元素的方式
6大元素为:标题、图例、X轴、Y轴、Y轴区域分隔线、数据标签
![6c6dfab1a49e6b45edde9940a70f914b.png](https://i-blog.csdnimg.cn/blog_migrate/abd445672e71218746bd7593c228dd4e.jpeg)
首先导入需要的模块
from
由于新版参数设置均已经选项配置化,需要配置的选项都放在了配置项(options)里面,因此需要导入options及使用到的图表。
然后,以下是基础代码框架
bar1=(
Bar() ##定义为柱状图
.add_xaxis([1,2,3]) ##X轴的值
.add_yaxis('y值',[4,5,6],其他参数) ##y的值和y的一些数据配置项
.set_global_opts(这里面配置一些 全局参数)
.set_series_opts(这里面配一些 系列参数)
)
bar1.render('bar1.html') ###输出html文件
新版pyecharts可以采用以上的链式调用方式,也可以采用bar1.add_xaxis()分开调用的方式。为了代码清晰并且看上去高大上一点(哈哈~~),建议采用链式调用。
这6大元素参数在代码中,分别进行配置的地方如下:
标题、图例、X轴、Y轴、Y轴区域分隔线为全局参数 ,在set_global_opts后面设置。
数据标签为系列参数,在set_series_opts后面设置。
![c275b5a8f35cc3ca17e4b1a930557f58.png](https://i-blog.csdnimg.cn/blog_migrate/3968fe5d7cfb00cc578805357c1df809.png)
具体的简单示例为:
1.设置标题
格式为:.set_global_opts(title_opts=opts.TitleOpts(具体参数))
具体参数细则参考TitleOpts的参数详情,以下代码没有配置完所有参数,网址直达:A Python Echarts Plotting Library
bar1=(
Bar( )
.add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'])
.add_yaxis('数量'##系列的名称
,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值
)
.set_global_opts(title_opts=opts.TitleOpts(title='我是大标题',
subtitle='我是副标题'
,pos_left='20%' #标题的位置 距离左边20%距离。
,item_gap=10#主副标题之间的距离
,title_textstyle_opts=opts.TextStyleOpts(color='red'#
,font_size=12
,font_weight='bold'
) #大标题文字的格式配置,
,subtitle_textstyle_opts=opts.TextStyleOpts(color='blue'
,font_style='normal'## 可选:'normal','italic','oblique'
,font_weight='normal' #粗细 'normal','bold','bolder','lighter'
,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...
,font_size=12
,background_color='grey'#文字背景颜色
,border_color='black' #文字块边框颜色
)###小标题文字的格式配置
)
)
)
bar1.render('bar1.html') ###输出html文件
输出的格式为:
![0cc0dfc74a1c2c747a05054443f221f1.png](https://i-blog.csdnimg.cn/blog_migrate/c16a4a7787a13fbf5d6021831f84cb90.jpeg)
2.设置图例
格式为:.set_global_opts(legend_opts=opts.LegendOpts(具体参数))
具体参数细则参考LegendOpts的参数详情,以下代码没有配置完所有参数,网址直达:A Python Echarts Plotting Library
bar1=(
Bar( )
.add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'])
.add_yaxis('数量'##系列的名称
,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值
)
.set_global_opts(legend_opts=opts.LegendOpts(type_=None # 'plain':普通图例。缺省就是普通图例。
# 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。
,pos_left='right' #图例横向的位置,right表示在右侧,也可以为百分比
,pos_top='middle'#图例纵向的位置,middle表示中间,也可以为百分比
,orient='vertical'#horizontal #图例方式的方式
)
)
)
bar1.render('bar1.html') ###输出html文件