一、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')
