700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Pyecharts数据可视化之柱状图 条形图 漏斗图 常用配置项

Pyecharts数据可视化之柱状图 条形图 漏斗图 常用配置项

时间:2020-03-27 12:27:27

相关推荐

Pyecharts数据可视化之柱状图 条形图 漏斗图 常用配置项

安装pyecharts

pip install pyecharts -U

柱状图

基本柱状图

本次使用jupyter notebook编写代码

# 引入相关包from pyecharts.faker import Faker #Faker数据构造器from pyecharts import options as optsfrom pyecharts.charts import Bar#可链式调用bar2 = (Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()))bar2.render_notebook() #在jupyter notebook输出可视化结果

堆叠柱状图

# 全部堆叠stacked_bar1 = (Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values(), stack='stack1').add_yaxis('组B', Faker.values(), stack='stack1').add_yaxis('组C', Faker.values(), stack='stack1').set_series_opts(label_opts=opts.LabelOpts(is_show=False)))stacked_bar1.render_notebook()

# 部分堆叠stacked_bar2 = (Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values(), stack='stack1').add_yaxis('组B', Faker.values(), stack='stack2').add_yaxis('组C', Faker.values(), stack='stack2').set_series_opts(label_opts=opts.LabelOpts(is_show=False)))stacked_bar2.render_notebook()

条形图

通过reversal_axis() 将柱状图的x,y轴翻转,得到条形图

bar3 = (Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_series_opts(label_opts=opts.LabelOpts(position='right')).reversal_axis() # 翻转XY轴)bar3.render_notebook()

漏斗图

准备数据

注意pyecharts绘图时,传入的数据一定要是个列表

x_data = ["点击", "访问", "咨询", "订单", "展现"]y_data = [90, 50, 30, 10, 100]for z in zip(x_data, y_data):print(list(z))[list(z) for z in zip(x_data, y_data)]

绘制漏斗图

from pyecharts.charts import Funnel(Funnel().add(series_name="",data_pair=[list(z) for z in zip(x_data, y_data)],).set_global_opts(title_opts=opts.TitleOpts(title="漏斗图"))).render_notebook()

常用配置项

1.options配置项

在pyechart中,一切皆Options:

from pyecharts import options as opts

全局配置项

通过 .set_global_opts 方法设置,如上面的漏斗图绘制代码

2.使用配置项

配置标题

参数传递方式 set_global_opts( title_opts=opts.TitleOpts(title="主标题", subtitle="副标题") )

字典方式 set_global_opts( title_opts={"text": "主标题", "subtext": "副标题"} )

3.常用的全局配置项

动画配置项:AnimationOpts

(Bar(init_opts=opts.InitOpts(animation_opts=opts.AnimationOpts(animation_delay=200, animation_easing='elasticOut'))).add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'))).render_notebook()

区域缩放配置项: DataZoomOpts

(Bar(init_opts=opts.InitOpts(animation_opts=opts.AnimationOpts(animation_delay=1000, animation_easing='elasticOut'))).add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),# datazoom_opts=opts.DataZoomOpts(), # 默认为slide# datazoom_opts=opts.DataZoomOpts(type_='inside'), # 使用inside# datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_='inside')] # 同时使用slide和insidedatazoom_opts=opts.DataZoomOpts(orient='vertical'), # 纵向datazoom)).render_notebook()

坐标轴配置项:AxisOpts

(Bar(init_opts=opts.InitOpts(animation_opts=opts.AnimationOpts(animation_delay=1000, animation_easing='elasticOut'))).add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),xaxis_opts=opts.AxisOpts(name='X轴'),yaxis_opts=opts.AxisOpts(name='Y轴'),)).render_notebook()

工具箱配置项: ToolboxOpts

(Bar(init_opts=opts.InitOpts(animation_opts=opts.AnimationOpts(animation_delay=1000, animation_easing='elasticOut'))).add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),xaxis_opts=opts.AxisOpts(name='X轴'),yaxis_opts=opts.AxisOpts(name='Y轴'),toolbox_opts=opts.ToolboxOpts(),)).render_notebook()

4.常用的系列配置项

标签配置项:LabelOpts

(Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),xaxis_opts=opts.AxisOpts(name='X轴',axislabel_opts=opts.LabelOpts(rotate=-90)),yaxis_opts=opts.AxisOpts(name='Y轴',axislabel_opts=opts.LabelOpts(formatter='{value}个')),).set_series_opts(label_opts=opts.LabelOpts(# is_show=False,font_size=20,))).render_notebook()

标记线配置项:MarkLineOpts

(Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[# opts.MarkLineItem(type_='min', name='最小值'),# opts.MarkLineItem(type_='max', name='最大值'),opts.MarkLineItem(type_='average', name='平均值'),opts.MarkLineItem(y=50, name='自定义标记线'),]))).render_notebook()

标记点配置项:MarkPointOpts

(Bar().add_xaxis(Faker.choose()).add_yaxis('组A', Faker.values()).add_yaxis('组B', Faker.values()).set_global_opts(title_opts=opts.TitleOpts(title='主标题', subtitle='副标题'),).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min', name='最小值'),opts.MarkPointItem(type_='max', name='最大值'),opts.MarkPointItem(type_='average', name='平均值'),]))).render_notebook()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。