python根据列表绘制柱状图_Python笔记:用Python绘制炫酷的柱形图

这篇博客展示了如何使用Python的Echarts库创建不同类型的图表,包括展示不同门店销售金额的柱状图,以及显示不同供应商销售数量的堆叠柱状图。此外,还通过翻转坐标轴将柱状图转换为条形图,以更直观地展示打折单品个数。这些图表对于理解销售数据和业务表现非常有用。
摘要由CSDN通过智能技术生成

bar = (

Bar()

.add_xaxis(x_vals)

.add_yaxis("广州门店", [random.randint(10, 100) for _ in range(6)])

.add_yaxis("中山门店", [random.randint(10, 100) for _ in range(6)])

.add_yaxis("深圳门店", [random.randint(10, 100) for _ in range(6)])

.add_yaxis("东莞门店", [random.randint(10, 100) for _ in range(6)])

.set_series_opts(label_opts=opts.LabelOpts(is_show=True, font_size=14),

markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(y=40, name="达标线=40")]))

.set_global_opts(title_opts=opts.TitleOpts(title='实际销售金额', subtitle="QDM"),

xaxis_opts=opts.AxisOpts(name='商品'),

yaxis_opts=opts.AxisOpts(name='单位:万元'))

)

# bar.render('柱状图.html')

# 或者

bar.render_notebook()

渲染效果:

up-791612a613b14f674f020702eaccb01c146.png

up-32d84f592597dbc79917886f3def4fca817.gif

goods = ["蔬菜","水果","猪肉","电商","综合","水产"]

bar = (

Bar()

.add_xaxis(goods)

.add_yaxis('供应商A', [random.randint(10, 100) for _ in range(6)], stack='stack1')

.add_yaxis('供应商B', [random.randint(10, 100) for _ in range(6)], stack='stack1')

.add_yaxis('供应商C', [random.randint(10, 100) for _ in range(6)], stack='stack1')

.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

.set_global_opts(title_opts=opts.TitleOpts(title="实际销售数量"),

xaxis_opts=opts.AxisOpts(name="品类"),

yaxis_opts=opts.AxisOpts(name="销量(单位:件)"))

)

# bar.render('柱状堆叠图.html')

# 或者

bar.render_notebook()

渲染效果:

up-b05b1dc999d96ee0112a9e0aa5da42310de.png

up-8bab5acd0aefa6682c9d4e07f8715b74b7c.gif

# 条形图

x_vals1 = ["白鲳鱼","小生蚝","秋刀鱼","多春鱼","南鲳鱼","海三宝"]

x_vals2 = ["银鱼仔","基围虾","沙甲","多宝鱼","泥猛","鲍鱼"]

x_vals3 = ["中鲫鱼","武昌鱼","白花鱼","海鲈鱼","眉草鱼","大乌头"]

# 把模拟的随机数改为列表形式,并按升序排列

y_vals = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]

bar = Bar().add_xaxis(x_vals1 + x_vals2 + x_vals3)

bar.add_yaxis("品控打折验收单品", y_vals,

markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='average'),

opts.MarkPointItem(type_='max'),

opts.MarkPointItem(type_='min')],

symbol_size=80)

)

bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="right"))

# 条目较多条形图比较好看点

bar.set_global_opts(title_opts=opts.TitleOpts(title="打折单品个数", subtitle="邮件"))

bar.reversal_axis() #翻转XY轴,将柱状图转换为条形图

# bar.render('条形图.html')

# 或者

bar.render_notebook()

渲染效果:

up-2eab8f9455b03ccda0e5f7e592c263ac5cf.png

up-5af41148e5e361d08248b72c2aa684cb97c.gif

# 条形图

# 把3个列表合并为一个列表----> 需要用到Excel中的 Ctrl+H , Windows+10 , "," 快捷键

x_vals1 = ["白鲳鱼","小生蚝","秋刀鱼","多春鱼","南鲳鱼","海三宝","银鱼仔","基围虾","沙甲","多宝鱼","泥猛","鲍鱼",

"中鲫鱼","武昌鱼","白花鱼","海鲈鱼","眉草鱼","大乌头"]

# x_vals2 = ["银鱼仔","基围虾","沙甲","多宝鱼","泥猛","鲍鱼"]

# x_vals3 = ["中鲫鱼","武昌鱼","白花鱼","海鲈鱼","眉草鱼","大乌头"]

# 把模拟的随机数改为列表形式,并按升序排列

y_vals = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]

# bar = Bar().add_xaxis(x_vals1 + x_vals2 + x_vals3)

bar = Bar().add_xaxis(x_vals1)

bar.add_yaxis("品控打折验收单品", y_vals,

markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='average'),

opts.MarkPointItem(type_='max'),

opts.MarkPointItem(type_='min')],

symbol_size=80)

)

bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="right"))

# 条目较多条形图比较好看点

bar.set_global_opts(title_opts=opts.TitleOpts(title="打折单品个数", subtitle="邮件"))

bar.reversal_axis() #翻转XY轴,将柱状图转换为条形图

bar.render('条形图.html')

# 或者

bar.render_notebook()

渲染效果:

up-24708b3e05cd2f9a31642e6a88155d953aa.png

# 条形图(纯净版)

# 把3个列表合并为一个列表----> 需要用到Excel中的 Ctrl+H , Windows+10 , "," 快捷键

x_vals1 = ["白鲳鱼","小生蚝","秋刀鱼","多春鱼","南鲳鱼","海三宝","银鱼仔","基围虾","沙甲","多宝鱼","泥猛","鲍鱼",

"中鲫鱼","武昌鱼","白花鱼","海鲈鱼","眉草鱼","大乌头"]

# 把模拟的随机数改为列表形式,并按升序排列

y_vals = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]

bar = Bar().add_xaxis(x_vals1)

bar.add_yaxis("品控打折验收单品", y_vals,

)

bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="right"))

# 条目较多条形图比较好看点

bar.set_global_opts(title_opts=opts.TitleOpts(title="打折单品个数", subtitle="邮件"))

bar.reversal_axis() #翻转XY轴,将柱状图转换为条形图

# bar.render('条形图.html')

# 或者

bar.render_notebook()

渲染效果:

up-806814142cb9b5f4c64e4f8f2dc6fa4341a.png

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值