一、pyecharts简介
pyecharts主要基于Web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图 地图和极坐标图等。使用pyecharts绘图代码量很少,但绘制的图形比较美观。
pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本 v0.5.X支持 Python2.7,3.4+。
经开发团队决定,0.5.x 版本将不再进行维护,0.5.x 版本代码位于 05x 分支 ,v1仅支持 Python3.6+,新版本系列将从 v1.0.0 开始。
本文所讲主要基于 pyecharts 1.7.1 版本进行展示 安装命令为:
pip install pyecharts==1.7.1
二、pyecharts柱状图/条形图全解
1.基本柱状图/条形图
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("基本柱状图", l2) 9 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题")) 10) 11bar.render_notebook()

参数介绍:
add_xaxis:添加横坐标,需传入列表 add_yaxis:添加纵坐标,需传入列表,切列表元素为数值
2.添加坐标轴名称
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("基本柱状图", l2) 9 .set_global_opts( 10 title_opts=opts.TitleOpts(title="Bar-基本示例"), 11 yaxis_opts=opts.AxisOpts(name="人流量"), 12 xaxis_opts=opts.AxisOpts(name="星期"),) 13) 14bar.render_notebook()

3.多个纵坐标的柱状图/条形图
1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6l3=[300,400,500,400,300,200,100] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .add_yaxis("l3", l3) 12 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"), 13 toolbox_opts=opts.BrushOpts(),) 14) 15bar.render_notebook()

opts.BrushOpts()为圈选工具,如图形右上角所示
4.设置柱状图间隔和颜色
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("l2",l2,category_gap=0, color='#FFFF00') 9 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题")) 10) 11bar.render_notebook()

category_gap:设置间隔
color:设置柱状图颜色
5.横向柱状图
1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6l3=[300,400,500,400,300,200,100] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .add_yaxis("l3", l3) 12 .reversal_axis() 13 .set_series_opts(label_opts=opts.LabelOpts(position="right")) 14 .set_global_opts(title_opts=opts.TitleOpts(title="横向柱状图")) 15) 16bar.render_notebook()

reversal_axis将图形反转
position="right"表示将数值在图形右侧显示,同理left、center分别表示左侧和中间
6.显示最大值、最小值和平均值
a.标记线
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图")) 11 .set_series_opts( 12 label_opts=opts.LabelOpts(is_show=False), 13 markline_opts=opts.MarkLineOpts( 14 data=[ 15 opts.MarkLineItem(type_="min", name="最小值"), 16 opts.MarkLineItem(type_="max", name="最大值"), 17 opts.MarkLineItem(type_="average", name="平均值"), 18 ] 19 ), 20 ) 21) 22bar.render_notebook()

b.标记点
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图")) 11 .set_series_opts( 12 label_opts=opts.LabelOpts(is_show=False), 13 markpoint_opts=opts.MarkPointOpts( 14 data=[ 15 opts.MarkPointItem(type_="min", name="最小值"), 16 opts.MarkPointItem(type_="max", name="最大值"), 17 opts.MarkPointItem(type_="average", name="平均值"), 18 ] 19 ), 20 ) 21) 22bar.render_notebook()

7.旋转x轴坐标
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['很长很长很长很长很长的坐标轴{}'.format(i) for i in range(10)] 5l2=[random.choice(range(10,100,10)) for i in range(10)] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)), 11 title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题")) 12) 13bar.render_notebook()

rotate=-15表示将坐标轴逆时针旋转15度
8.横坐标缩放
a.整体缩放(type_="inside")
1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4import random 5l1=['{}日'.format(i) for i in range(1,31)] 6l2=[random.choice(range(100,3100,100)) for i in range(1,31)] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"), 12 datazoom_opts=opts.DataZoomOpts(type_="inside")) 13) 14bar.render_notebook()

b.左右滑动缩放
1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['{}日'.format(i) for i in range(1,31)] 5l2=[random.choice(range(100,3100,100)) for i in range(1,31)] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"), 11 datazoom_opts=opts.DataZoomOpts(type_="slider")) 12) 13bar.render_notebook()

本次主要介绍了pyecharts柱状图的常见形式,后续会出来pyecharts柱状图的高阶用法,敬请关注!
-------------------********************************** End **********-------------**-----********-**********************************
往期精彩文章推荐:

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。
本文转自 https://mp.weixin.qq.com/s/JDRzd8-_eT_v9GGP1GIccw,如有侵权,请联系删除。
