python數(shù)據(jù)分析——pyecharts柱狀圖全解(小白必看)2020-08-26

一、pyecharts簡(jiǎn)介

pyecharts主要基于Web瀏覽器進(jìn)行顯示,繪制的圖形比較多,包括折線圖、柱狀圖、餅圖、漏斗圖 地圖和極坐標(biāo)圖等。使用pyecharts繪圖代碼量很少,但繪制的圖形比較美觀。

pyecharts 分為 v0.5.X 和 v1 兩個(gè)大版本,v0.5.X 和 v1 間不兼容,v1 是一個(gè)全新的版本 v0.5.X支持 Python2.7,3.4+。

經(jīng)開發(fā)團(tuán)隊(duì)決定,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 opts

from pyecharts.charts import Bar

l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

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.多個(gè)縱坐標(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)記點(diǎn)

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=['很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)的坐標(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)簽名字過(guò)長(zhǎng)的問(wèn)題")))bar.render_notebook()

rotate=-15表示將坐標(biāo)軸逆時(shí)針旋轉(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.左右滑動(dòng)縮放

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ù)會(huì)出來(lái)pyecharts柱狀圖的高階用法,敬請(qǐng)關(guān)注!

-完-


長(zhǎng)按回復(fù)下方【關(guān)鍵詞】,獲取優(yōu)質(zhì)資源:

回復(fù)關(guān)鍵詞【福利1】,立即獲取python數(shù)據(jù)分析教學(xué)視頻

回復(fù)關(guān)鍵詞【福利2】,立即獲取python學(xué)習(xí)電子書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容