您的位置:首頁/技術文章
文章詳情頁

python pyecharts庫的用法大全

瀏覽:31日期:2022-06-23 10:58:03
什么是pyecharts?

pyecharts 是一個用于生成 Echarts 圖表的類庫。

echarts 是百度開源的一個數據可視化 JS 庫,主要用于數據可視化。pyecharts 是一個用于生成 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。

使用 pyecharts 可以生成獨立的網頁,也可以在 flask , Django 中集成使用。

pyecharts包含的圖表#Bar(柱狀圖/條形圖) Bar3D(3D 柱狀圖) Boxplot(箱形圖) EffectScatter(帶有漣漪特效動畫的散點圖) Funnel(漏斗圖) Gauge(儀表盤) Geo(地理坐標系) Graph(關系圖) HeatMap(熱力圖) Kline(K線圖) Line(折線/面積圖) Line3D(3D 折線圖) Liquid(水球圖) Map(地圖) Parallel(平行坐標系) Pie(餅圖) Polar(極坐標系) Radar(雷達圖) Sankey(?;鶊D) Scatter(散點圖) Scatter3D(3D 散點圖) ThemeRiver(主題河流圖) WordCloud(詞云圖)

用戶自定義

Grid 類:并行顯示多張圖 Overlap 類:結合不同類型圖表疊加畫在同張圖上 Page 類:同一網頁按順序展示多圖 Timeline 類:提供時間線輪播多張圖

pyecharts安裝

pip install pyecharts

下面給大家介紹python pyecharts庫的使用,一起看看!

現在下載的庫都是1.x版本的,使用方法和以前有很大區別

加載

from pyecharts.charts import Line, Bar, Funnelfrom pyecharts.faker import Fakerimport pyecharts.options as optsfrom pyecharts.commons.utils import JsCode折線圖的繪制

最簡單的版本

line1 = ( Line() .add_xaxis([’2015’, ’2016’, ’2017’, ’2018’, ’2019’]) .add_yaxis(’進入黨政機關及事業單位的比例%’, [30.23, 15.06, 17.6, 16.56, 18.51]))line1.render_notebook()

python pyecharts庫的用法大全

高級版本

多條線,圖片大小,設置標題、圖例及其位置,缺失數據的繪制,給圖例也加上顏色進行區分

# https://blog.csdn.net/seakingx/article/details/105531515 繪制百分數# https://www.freesion.com/article/2819552517/ 圖例添加顏色,color參數,非linestyle_opts的子參數line1 = ( Line(init_opts=opts.InitOpts(width='600px', height='400px')) .add_xaxis([’2015’, ’2016’, ’2017’, ’2018’, ’2019’]) .add_yaxis(’進入黨政機關及事業單位的比例%’, [30.23, 15.06, 17.6, 16.56, 18.51], label_opts=opts.LabelOpts(formatter=JsCode('function (params) {return params.value[1] + ’%’}')) ) .add_yaxis(’簽約國企、私企和三資企業比例%’, [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=’南開大學本科生的就業去向及比例’, pos_right=’50%’ ), legend_opts=opts.LegendOpts(pos_right=’10%’, pos_top=’10%’, orient=’vertical’) ) #.render(’南開本科.html’))line1.render_notebook()

python pyecharts庫的用法大全

render()與render_notebook的報錯和無反應:

line1有render代碼時,就不能在代碼里添加render_notebook了,否則報錯: AttributeError: ‘str’ object has no attribute ‘render_notebook’

條形圖和折線圖的結合

最簡單的形式

x = Faker.choose()scatter1 = ( Bar() .add_xaxis(x) .add_yaxis('商家A', Faker.values(), yaxis_index=0) # 設置副坐標軸時,必須加這個命令,這個命令并不能決定主副坐標軸 .extend_axis(yaxis=opts.AxisOpts(type_='value', name='商家A', position='left')) .set_global_opts(yaxis_opts=opts.AxisOpts(type_='value', name='商家B', position='right')) )# 下面的圖里只能設置個indexscatter2 = ( Line() .add_xaxis(x) .add_yaxis('商家B', [v/1000 for v in Faker.values()], yaxis_index=1))scatter1.overlap(scatter2)scatter1.render_notebook()

python pyecharts庫的用法大全

副坐標軸的使用和坐標軸范圍、刻度大小的設置,添加坐標軸的標簽

# 繪制條形圖bar=( Bar() .add_xaxis([’2014’, ’2015’, ’2016’, ’2017’, ’2018’, ’2019’, ’2020’, ’2021’]) .add_yaxis(’招錄職位數’, [11729, 13475, 15659, 15583, 16144, 9657, 13549, 13172]) .add_yaxis(’招錄人數’, [19538, 22249, 27817, 27061, 28533, 14537, 24128, 25726]) # 設置副坐標軸 .extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter='{value} 萬'), interval=30, max_=180, min_=0) # 設置坐標軸的區間長度 ) #.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) .set_global_opts( title_opts=opts.TitleOpts(title='歷年公務員考試數據', pos_right=’45%’), # 設置標題及標題的位置 legend_opts=opts.LegendOpts(pos_right=’10%’, # 設置圖例的位置 #pos_top=’10%’, orient=’vertical’), # 不同圖例之間是豎著排放的 #max_=40000, 這里沒有這個lim參數,在坐標軸里面可以設置 # 設置主坐標軸配置項 yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter='{value} 人'), max_=50000) # 設置坐標軸的范圍 lim ))# 繪制折線圖(也可以不加括號)line = Line().add_xaxis([’2014’, ’2015’, ’2016’, ’2017’, ’2018’, ’2019’, ’2020’, ’2021’]).add_yaxis('報名人數', [152, 140.9, 139.46, 148.63, 138, 137.93, 140, ’-’], yaxis_index=1, #如果不加該參數,就沒有副坐標軸,這樣不同量級的數據就會出現問題 label_opts=opts.LabelOpts(formatter=JsCode('function (params) {return params.value[1] + ’萬’}')) ) # 兩個圖形疊加起來bar.overlap(line)bar.render('overlap_bar_line.html')bar.render_notebook()

python pyecharts庫的用法大全

繪制漏斗圖

最簡單的繪制方法

# 主要是數據格式和其他的不一致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='請求過濾的漏斗分析'))) funnel.render_notebook()

復雜點的繪制方法

# 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}, ddnzljf%')) # d是每個數值占總體的比重 # 百分比這里建議傳入一組新的y數據(用每個數據除以一個數值) https://zhuanlan.zhihu.com/p/63976935 .set_global_opts(title_opts=opts.TitleOpts(title='請求過濾的漏斗分析'), #yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter=’{data} {value}%’)) #'{value} 人' )) funnel.render_notebook()

python pyecharts庫的用法大全

到此這篇關于python pyecharts庫的用法大全的文章就介紹到這了,更多相關python pyecharts庫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
国产综合久久一区二区三区