python數(shù)據(jù)分析——pyecharts柱狀圖全解(小白必看)
回復(fù)“書籍”即可獲贈Python從入門到進(jìn)階共10本電子書
一、pyecharts簡介
pyecharts主要基于Web瀏覽器進(jìn)行顯示,繪制的圖形比較多,包括折線圖、柱狀圖、餅圖、漏斗圖 地圖和極坐標(biāo)圖等。使用pyecharts繪圖代碼量很少,但繪制的圖形比較美觀。
pyecharts 分為 v0.5.X 和 v1 兩個大版本,v0.5.X 和 v1 間不兼容,v1 是一個全新的版本 v0.5.X支持 Python2.7,3.4+。
經(jīng)開發(fā)團(tuán)隊決定,0.5.x 版本將不再進(jìn)行維護(hù),0.5.x 版本代碼位于 05x 分支 ,v1僅支持 Python3.6+,新版本系列將從 v1.0.0 開始。
本文所講主要基于 pyecharts 1.7.1 版本進(jìn)行展示 安裝命令為:
pip install pyecharts==1.7.1二、pyecharts柱狀圖/條形圖全解
1.基本柱狀圖/條形圖
from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (Bar().add_xaxis(l1).add_yaxis("基本柱狀圖", l2).set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")))bar.render_notebook()

參數(shù)介紹:
add_xaxis:添加橫坐標(biāo),需傳入列表 add_yaxis:添加縱坐標(biāo),需傳入列表,切列表元素為數(shù)值
2.添加坐標(biāo)軸名稱
from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (Bar().add_xaxis(l1).add_yaxis("基本柱狀圖", l2).set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例"),yaxis_opts=opts.AxisOpts(name="人流量"),xaxis_opts=opts.AxisOpts(name="星期"),))bar.render_notebook()

3.多個縱坐標(biāo)的柱狀圖/條形圖
from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]l3=[300,400,500,400,300,200,100]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).add_yaxis("l3", l3).set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題"),toolbox_opts=opts.BrushOpts(),))bar.render_notebook()

opts.BrushOpts()為圈選工具,如圖形右上角所示
4.設(shè)置柱狀圖間隔和顏色
from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (Bar().add_xaxis(l1).add_yaxis("l2",l2,category_gap=0, color='#FFFF00').set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")))bar.render_notebook()

category_gap:設(shè)置間隔
color:設(shè)置柱狀圖顏色
5.橫向柱狀圖
from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]l3=[300,400,500,400,300,200,100]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).add_yaxis("l3", l3).reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position="right")).set_global_opts(title_opts=opts.TitleOpts(title="橫向柱狀圖")))bar.render_notebook()

reversal_axis將圖形反轉(zhuǎn)
position="right"表示將數(shù)值在圖形右側(cè)顯示,同理left、center分別表示左側(cè)和中間
6.顯示最大值、最小值和平均值
a.標(biāo)記線
from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).set_global_opts(title_opts=opts.TitleOpts(title="標(biāo)記線柱狀圖")).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="平均值"),]),))bar.render_notebook()

b.標(biāo)記點
from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).set_global_opts(title_opts=opts.TitleOpts(title="標(biāo)記線柱狀圖")).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="平均值"),]),))bar.render_notebook()

7.旋轉(zhuǎn)x軸坐標(biāo)
from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['很長很長很長很長很長的坐標(biāo)軸{}'.format(i) for i in range(10)]l2=[random.choice(range(10,100,10)) for i in range(10)]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="Bar-旋轉(zhuǎn)X軸標(biāo)簽", subtitle="解決標(biāo)簽名字過長的問題")))bar.render_notebook()

rotate=-15表示將坐標(biāo)軸逆時針旋轉(zhuǎn)15度
8.橫坐標(biāo)縮放
a.整體縮放(type_="inside")
from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['{}日'.format(i) for i in range(1,31)]l2=[random.choice(range(100,3100,100)) for i in range(1,31)]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).set_global_opts(title_opts=opts.TitleOpts(title="區(qū)域縮放柱狀圖"),datazoom_opts=opts.DataZoomOpts(type_="inside")))bar.render_notebook()

b.左右滑動縮放
from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['{}日'.format(i) for i in range(1,31)]l2=[random.choice(range(100,3100,100)) for i in range(1,31)]bar = (Bar().add_xaxis(l1).add_yaxis("l2", l2).set_global_opts(title_opts=opts.TitleOpts(title="區(qū)域縮放柱狀圖"),datazoom_opts=opts.DataZoomOpts(type_="slider")))bar.render_notebook()

本次主要介紹了pyecharts柱狀圖的常見形式,后續(xù)會出來pyecharts柱狀圖的高階用法,敬請關(guān)注!
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~

