Python pyecharts绘制柱状图
时间:2022-08-12 10:02:00|栏目:Python代码|点击: 次
一、pyecharts绘制柱状图语法简介
柱状/条形图,通过柱形的高度/条形的宽度来表现数据的大小。
Bar.add()
方法签名:
add(name, x_axis, y_axis,
is_stack=False,
bar_category_gap='20%', **kwargs)
name->str
图例名称x_axis->list x
坐标轴数据y_axis->list y
坐标轴数据is_stack->bool
数据堆叠,同个类目轴上系列配置相同的stack
值可以堆叠放置bar_category_gap->int/str
类目轴的柱状距离,当设置为0时柱状是紧挨着(直方图类型),默认为'20%'- mark_point 标记点 取值为:
average min max
- mark_line 标记线 取值为:
average min max
is_convert=True
x轴和y轴交换is_label_show=True
显示数据标签xaxis_rotate=30, yaxis_rotate=30
旋转x轴或y轴的标签label_color
设置柱子颜色
二、绘制普通柱状图
from pyecharts import Bar #Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。 attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"] v1 = [5, 20, 36, 10, 75, 90 , 30] v2 = [10, 25, 8, 60, 20, 80 , 50] bar = Bar("柱状图数据堆叠示例") #设置标题 bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True) bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True) bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件
三、绘制堆叠柱状图
from pyecharts import Bar #Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。 #is_stack->bool 数据堆叠,同个类目轴上系列配置相同的stack值可以堆叠放置 attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"] v1 = [5, 20, 36, 10, 75, 90 , 30] v2 = [10, 25, 8, 60, 20, 80 , 50] bar = Bar("柱状图数据堆叠示例") #设置标题 bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True,is_stack=True) bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True,is_stack=True) bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件
四、绘制横向柱状图
from pyecharts import Bar #is_convert=True x轴和y轴交换 #Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。 attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"] v1 = [5, 20, 36, 10, 75, 90 , 30] v2 = [10, 25, 8, 60, 20, 80 , 50] bar = Bar("柱状图数据堆叠示例") #设置标题 bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True,is_convert=True) bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True,is_convert=True) bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件
五、pyecharts柱状图datazoom案例
六、对应pyecharts柱状图datazoom案例的代码我用page放一起了
#coding=utf-8 from __future__ import unicode_literals from pyecharts import Bar from pyecharts import Page import random page = Page() #dataZoom 效果,'slider' 类型 attr = ["{}天".format(i) for i in range(30)] v1 = [random.randint(1, 30) for _ in range(30)] bar = Bar("Bar - datazoom - slider 示例") bar.add("", attr, v1, is_label_show=True, is_datazoom_show=True,xaxis_rotate=30, yaxis_rotate=30) page.add(bar) #dataZoom 效果,'inside' 类型 attr = ["{}天".format(i) for i in range(30)] v1 = [random.randint(1, 30) for _ in range(30)] bar2 = Bar("Bar - datazoom - inside 示例") bar2.add( "", attr, v1, is_datazoom_show=True, datazoom_type="inside", datazoom_range=[1, 50], ) page.add(bar2) #dataZoom 效果,'both' 类型 attr = ["{}天".format(i) for i in range(30)] v1 = [random.randint(1, 30) for _ in range(30)] bar3 = Bar("Bar - datazoom - both 示例") bar3.add( "", attr, v1, is_datazoom_show=True, datazoom_type="both", datazoom_range=[1, 40], label_color=["#749f83"] ) page.add(bar3) days = ["{}天".format(i) for i in range(30)] days_v1 = [random.randint(1, 30) for _ in range(30)] bar4 = Bar("Bar - datazoom - xaxis/yaxis 示例") bar4.add( "", days, days_v1, # 默认为 X 轴,横向 is_datazoom_show=True, datazoom_type="slider", datazoom_range=[1, 50], # 新增额外的 dataZoom 控制条,纵向 is_datazoom_extra_show=True, datazoom_extra_type="slider", datazoom_extra_range=[1, 50], is_toolbox_show=False, ) page.add(bar4) page.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html')