python pyecharts庫(kù)的用法大全
什么是pyecharts?
pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。
echarts 是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù),主要用于數(shù)據(jù)可視化。pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。實(shí)際上就是 Echarts 與 Python 的對(duì)接。
使用 pyecharts 可以生成獨(dú)立的網(wǎng)頁(yè),也可以在 flask , Django 中集成使用。
pyecharts包含的圖表#
Bar(柱狀圖/條形圖)
Bar3D(3D 柱狀圖)
Boxplot(箱形圖)
EffectScatter(帶有漣漪特效動(dòng)畫的散點(diǎn)圖)
Funnel(漏斗圖)
Gauge(儀表盤)
Geo(地理坐標(biāo)系)
Graph(關(guān)系圖)
HeatMap(熱力圖)
Kline(K線圖)
Line(折線/面積圖)
Line3D(3D 折線圖)
Liquid(水球圖)
Map(地圖)
Parallel(平行坐標(biāo)系)
Pie(餅圖)
Polar(極坐標(biāo)系)
Radar(雷達(dá)圖)
Sankey(?;鶊D)
Scatter(散點(diǎn)圖)
Scatter3D(3D 散點(diǎn)圖)
ThemeRiver(主題河流圖)
WordCloud(詞云圖)
用戶自定義
Grid 類:并行顯示多張圖
Overlap 類:結(jié)合不同類型圖表疊加畫在同張圖上
Page 類:同一網(wǎng)頁(yè)按順序展示多圖
Timeline 類:提供時(shí)間線輪播多張圖
pyecharts安裝
pip install pyecharts
下面給大家介紹python pyecharts庫(kù)的使用,一起看看!
現(xiàn)在下載的庫(kù)都是1.x版本的,使用方法和以前有很大區(qū)別
加載
from pyecharts.charts import Line, Bar, Funnel from pyecharts.faker import Faker import pyecharts.options as opts from pyecharts.commons.utils import JsCode
折線圖的繪制
最簡(jiǎn)單的版本
line1 = ( Line() .add_xaxis(['2015', '2016', '2017', '2018', '2019']) .add_yaxis('進(jìn)入黨政機(jī)關(guān)及事業(yè)單位的比例%', [30.23, 15.06, 17.6, 16.56, 18.51]) ) line1.render_notebook()
高級(jí)版本
多條線,圖片大小,設(shè)置標(biāo)題、圖例及其位置,缺失數(shù)據(jù)的繪制,給圖例也加上顏色進(jìn)行區(qū)分
# https://blog.csdn.net/seakingx/article/details/105531515 繪制百分?jǐn)?shù) # https://www.freesion.com/article/2819552517/ 圖例添加顏色,color參數(shù),非linestyle_opts的子參數(shù) line1 = ( Line(init_opts=opts.InitOpts(width="600px", height="400px")) .add_xaxis(['2015', '2016', '2017', '2018', '2019']) .add_yaxis('進(jìn)入黨政機(jī)關(guān)及事業(yè)單位的比例%', [30.23, 15.06, 17.6, 16.56, 18.51], label_opts=opts.LabelOpts(formatter=JsCode("function (params) {return params.value[1] + '%'}")) ) .add_yaxis('簽約國(guó)企、私企和三資企業(yè)比例%', [69.78, 84.78, None, 82.67, 81.33], label_opts=opts.LabelOpts(formatter=JsCode("function (params) {return params.value[1] + '%'}")), #linestyle_opts=opts.LineStyleOpts(color='yellow', width=2) #linestyle_opts=opts.LineStyleOpts(width=2), color='blue' ) .set_global_opts(title_opts=opts.TitleOpts(title='南開(kāi)大學(xué)本科生的就業(yè)去向及比例', pos_right='50%' ), legend_opts=opts.LegendOpts(pos_right='10%', pos_top='10%', orient='vertical') ) #.render('南開(kāi)本科.html') ) line1.render_notebook()
render()與render_notebook的報(bào)錯(cuò)和無(wú)反應(yīng):
line1有render代碼時(shí),就不能在代碼里添加render_notebook了,否則報(bào)錯(cuò): AttributeError: ‘str' object has no attribute ‘render_notebook'
條形圖和折線圖的結(jié)合
最簡(jiǎn)單的形式
x = Faker.choose() scatter1 = ( Bar() .add_xaxis(x) .add_yaxis("商家A", Faker.values(), yaxis_index=0) # 設(shè)置副坐標(biāo)軸時(shí),必須加這個(gè)命令,這個(gè)命令并不能決定主副坐標(biāo)軸 .extend_axis(yaxis=opts.AxisOpts(type_="value", name="商家A", position="left")) .set_global_opts(yaxis_opts=opts.AxisOpts(type_="value", name="商家B", position="right")) ) # 下面的圖里只能設(shè)置個(gè)index scatter2 = ( Line() .add_xaxis(x) .add_yaxis("商家B", [v/1000 for v in Faker.values()], yaxis_index=1) ) scatter1.overlap(scatter2) scatter1.render_notebook()
副坐標(biāo)軸的使用和坐標(biāo)軸范圍、刻度大小的設(shè)置,添加坐標(biāo)軸的標(biāo)簽
# 繪制條形圖 bar=( Bar() .add_xaxis(['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']) .add_yaxis('招錄職位數(shù)', [11729, 13475, 15659, 15583, 16144, 9657, 13549, 13172]) .add_yaxis('招錄人數(shù)', [19538, 22249, 27817, 27061, 28533, 14537, 24128, 25726]) # 設(shè)置副坐標(biāo)軸 .extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} 萬(wàn)"), interval=30, max_=180, min_=0) # 設(shè)置坐標(biāo)軸的區(qū)間長(zhǎng)度 ) #.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) .set_global_opts( title_opts=opts.TitleOpts(title="歷年公務(wù)員考試數(shù)據(jù)", pos_right='45%'), # 設(shè)置標(biāo)題及標(biāo)題的位置 legend_opts=opts.LegendOpts(pos_right='10%', # 設(shè)置圖例的位置 #pos_top='10%', orient='vertical'), # 不同圖例之間是豎著排放的 #max_=40000, 這里沒(méi)有這個(gè)lim參數(shù),在坐標(biāo)軸里面可以設(shè)置 # 設(shè)置主坐標(biāo)軸配置項(xiàng) yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} 人"), max_=50000) # 設(shè)置坐標(biāo)軸的范圍 lim ) ) # 繪制折線圖(也可以不加括號(hào)) line = Line().add_xaxis(['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']).add_yaxis("報(bào)名人數(shù)", [152, 140.9, 139.46, 148.63, 138, 137.93, 140, '-'], yaxis_index=1, #如果不加該參數(shù),就沒(méi)有副坐標(biāo)軸,這樣不同量級(jí)的數(shù)據(jù)就會(huì)出現(xiàn)問(wèn)題 label_opts=opts.LabelOpts(formatter=JsCode("function (params) {return params.value[1] + '萬(wàn)'}")) ) # 兩個(gè)圖形疊加起來(lái) bar.overlap(line) bar.render("overlap_bar_line.html") bar.render_notebook()
繪制漏斗圖
最簡(jiǎn)單的繪制方法
# 主要是數(shù)據(jù)格式和其他的不一致 funnel = ( Funnel() .add("商城漏斗", [ list(two_values) for two_values in zip(['召回', '粗排', '精排'], [100, 80, 10]) ]) .set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}次")) .set_global_opts(title_opts=opts.TitleOpts(title="請(qǐng)求過(guò)濾的漏斗分析")) ) funnel.render_notebook()
復(fù)雜點(diǎn)的繪制方法
# https://zhuanlan.zhihu.com/p/63976935 一些參考 funnel = ( Funnel(init_opts=opts.InitOpts(width="600px", height="400px")) #是寬和高,而不是像素 #Funnel() .add("商城漏斗", [ list(two_values) sfor two_values in zip(['召回', '粗排', '精排'], [100, 80, 10]) ]) #.set_series_opts(label_opts=opts.LabelOpts(is_show=False), #markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max", name="最大值"),])) .set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}, vvxyksv9kd%")) # d是每個(gè)數(shù)值占總體的比重 # 百分比這里建議傳入一組新的y數(shù)據(jù)(用每個(gè)數(shù)據(jù)除以一個(gè)數(shù)值) https://zhuanlan.zhihu.com/p/63976935 .set_global_opts(title_opts=opts.TitleOpts(title="請(qǐng)求過(guò)濾的漏斗分析"), #yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter='{data} {value}%')) #"{value} 人" ) ) funnel.render_notebook()
到此這篇關(guān)于python pyecharts庫(kù)的用法大全的文章就介紹到這了,更多相關(guān)python pyecharts庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實(shí)用工具狀態(tài)機(jī)transitions
這篇文章主要介紹了python 實(shí)用工具狀態(tài)機(jī)transitions的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11Python獲取任意xml節(jié)點(diǎn)值的方法
這篇文章主要介紹了Python獲取任意xml節(jié)點(diǎn)值的方法,涉及Python操作XML節(jié)點(diǎn)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05Python實(shí)現(xiàn)優(yōu)雅編寫LaTeX的示例代碼
LaTeX?是一種廣泛用于排版學(xué)術(shù)論文、報(bào)告、書籍和演示文稿的標(biāo)記語(yǔ)言,本文主要為大家詳細(xì)介紹了如何使用?Python?來(lái)優(yōu)雅地編寫?LaTeX,提高效率并減少錯(cuò)誤,需要的可以參考下2024-02-02Windows系統(tǒng)下多版本pip的共存問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于在Windows系統(tǒng)下多版本pip的共存問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10對(duì)django views中 request, response的常用操作詳解
今天小編就為大家分享一篇對(duì)django views中 request, response的常用操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07將Emacs打造成強(qiáng)大的Python代碼編輯工具
這篇文章主要介紹了將Emacs打造成強(qiáng)大的Python代碼編輯工具的方法,人們常說(shuō)Vim是編輯器之神而Emacs是神的編輯器:)需要的朋友可以參考下2015-11-11解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問(wèn)題
這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的解決辦法,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03python except異常處理之后不退出,解決異常繼續(xù)執(zhí)行的實(shí)現(xiàn)
這篇文章主要介紹了python except異常處理之后不退出,解決異常繼續(xù)執(zhí)行的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04