pyecharts除了生成图表之后,还有自有的四大工具:
工具栏、区域缩放、最大/最小值标签、平均值标线,如下图:
![8445f090af0cd94923a5ca48b503bd29.png](https://i-blog.csdnimg.cn/blog_migrate/e04baf626a1bf303d7c580b671624d1e.jpeg)
基础代码框架:
bar1
1.工具栏
设置格式为: .set_global_opts(toolbox_opts=opts.ToolboxOpts(参数) )
参数一般不用特别设置。
bar1=(
Bar( )
.add_xaxis(['广东', '四川', '山东', '未知', '河南', '河北', '江苏', '湖南'
, '安徽', '云南', '广西', '贵州', '内蒙', '新疆', '湖北', '甘肃'
, '江西', '福建', '辽宁', '黑龙', '山西', '浙江', '陕西', '吉林'
, '重庆', '上海', '北京', '天津', '青海', '海南', '宁夏', '西藏'])
.add_yaxis('数量'##系列的名称
,[783, 692, 681, 621, 592, 563, 523, 503, 464
, 392, 388, 376, 375, 350, 294, 281, 280,
274, 240, 236, 235, 207, 198, 175, 152, 64, 58, 41, 32, 32, 3] ##系列的数值
)
.set_global_opts(title_opts=opts.TitleOpts(title='工具栏显示' )
,toolbox_opts=opts.ToolboxOpts()
)
)
bar1.render('bar1.html') ###输出html文件
输出结果为:
![4eef74b92d905c00ca74f8bbbdaec7af.png](https://i-blog.csdnimg.cn/blog_migrate/c8938873d8c45bb562a481a2064ba3c6.jpeg)
2 区域缩放
设置格式为: .set_global_opts(datazoom_opts=opts.DataZoomOpts(具体参数) )
以下代码示例参数没有写完,可以查看文档完整参数:A Python Echarts Plotting Library
代码示例:
bar1=(
Bar( )
.add_xaxis(['广东', '四川', '山东', '未知', '河南', '河北', '江苏', '湖南'
, '安徽', '云南', '广西', '贵州', '内蒙', '新疆', '湖北', '甘肃'
, '江西', '福建', '辽宁', '黑龙', '山西', '浙江', '陕西', '吉林'
, '重庆', '上海', '北京', '天津', '青海', '海南', '宁夏', '西藏'])
.add_yaxis('数量'##系列的名称
,[783, 692, 681, 621, 592, 563, 523, 503, 464
, 392, 388, 376, 375, 350, 294, 281, 280,
274, 240, 236, 235, 207, 198, 175, 152, 64, 58, 41, 32, 32, 3] ##系列的数值
)
.set_global_opts(title_opts=opts.TitleOpts(title='工具栏显示' )
,datazoom_opts=opts.DataZoomOpts(is_show=True
,range_start=0 #显示区域的开始位置,默认是20
,range_end=80 #显示区域的结束位置,默认是80
,orient='horizontal' ##缩放区域空值条所放的位置
)
)
)
bar1.render('bar1.html') ###输出html文件
以X轴的区域进行缩放显示,设置orient等于horizontal,拖动缩放条可以显示更多X数据
![8376af6260a9318bd10bb9379bf3363a.png](https://i-blog.csdnimg.cn/blog_migrate/cee6913920382a94e49c9e517c06205d.jpeg)
以Y轴的区域进行缩放显示,设置orient等于vertical,拖动缩放条可以显示更多Y数据
![738726263b4731fb173f383eafa9c617.png](https://i-blog.csdnimg.cn/blog_migrate/54229df6deb6f7c8e9ca0c3f4a7f538e.jpeg)
3 最大值/最小值 标记
有两种配置方式
![fad4a19bf9185828a0fc9747dce11087.png](https://i-blog.csdnimg.cn/blog_migrate/c66e5795510cab90ee5e64ed90205666.png)
第一种:add_yaxis(参数) ,参数里面设置,仅针对该组数据进行最大/最小值、平均值标记
第二种:set_series_opts(参数),参数里面设置,针对所有系列进行标记。
参数的设置格式直接上代码比较清晰:(这里示例第二种方式)
bar1
![83467849a9a7a7be445218f8d5e1534b.png](https://i-blog.csdnimg.cn/blog_migrate/596c34c6c820aa85e0d192ec3e5298bd.jpeg)
opts.MarkPointOpts(参数),参数的配置代码中没有写全,参考文档:A Python Echarts Plotting Library
输出结果:
![cb654cc588be7f2deb47b7e34cad17a9.png](https://i-blog.csdnimg.cn/blog_migrate/a9b1c11e21ff659841688e668c0e0d3d.png)
4 平均值标线设置
同样也是两种设置方法。
![337bf4b8ea06418992d8970a25ac6fb9.png](https://i-blog.csdnimg.cn/blog_migrate/b988e089106c41088353860822a3c9c6.png)
第一种:add_yaxis(参数) ,参数里面设置,仅针对该组数据进行标线设置
第二种:set_series_opts(参数),参数里面设置,针对所有系列进行标线设置。
参数的设置格式直接上代码比较清晰:(这里示例第一种方式)
bar1
![c6e72e5264cd2fcdc42f0fd7e8a4ff27.png](https://i-blog.csdnimg.cn/blog_migrate/70080bddb9406d0f5933044684d9809b.jpeg)
把四种设置综合在一起,如下图:
注意:标注出来的最大值、最小值、平均值是显示区域的最大值、 最小值、平均值。
拖动区域缩放条可以看到,标记是有变化的。
![ac756995a995606ad3806f45de38041b.png](https://i-blog.csdnimg.cn/blog_migrate/072944c74b806d8a019006c4283fd29e.jpeg)
代码奉上:
bar1=(
Bar( )
.add_xaxis(['广东', '四川', '山东', '未知', '河南', '河北', '江苏', '湖南'
, '安徽', '云南', '广西', '贵州', '内蒙', '新疆', '湖北', '甘肃'
, '江西', '福建', '辽宁', '黑龙', '山西', '浙江', '陕西', '吉林'
, '重庆', '上海', '北京', '天津', '青海', '海南', '宁夏', '西藏'])
.add_yaxis('数量'##系列的名称
,[783, 692, 681, 621, 592, 563, 523, 503, 464
, 392, 388, 376, 375, 350, 294, 281, 280,
274, 240, 236, 235, 207, 198, 175, 152, 64, 58, 41, 32, 32, 3] ##系列的数值
,markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average',name='平均值')]
,linestyle_opts=opts.LineStyleOpts(type_='dashed' #点状
,opacity=0.9 #透明度 0-1 值越大越不透明
,color='black'
)
) )
.set_global_opts(title_opts=opts.TitleOpts(title='工具栏显示' )
,toolbox_opts=opts.ToolboxOpts()
,datazoom_opts=opts.DataZoomOpts(is_show=True
,range_start=0 #显示区域的开始位置,默认是20
,range_end=80 #显示区域的结束位置,默认是80
,orient='horizontal' ##缩放区域空值条所放的位置
)
)
.set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值"),##设置最大值 标记
opts.MarkPointItem(type_="min",name="最小值"),#设置最小值标记
]
,symbol='pin' # 标记的图形。
# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。
# ,symbol_size=10 ##标记点的大小 # 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,
# 例如 [20, 10] 表示标记宽为 20,高为 10
)
,label_opts=opts.LabelOpts(is_show=False))
)
bar1.render('bar1.html') ###输出html文件