Python使用Pyecharts繪制精美餅狀圖的示例代碼
Pyecharts 簡(jiǎn)介
Pyecharts 是一個(gè)基于 ECharts 的 Python 數(shù)據(jù)可視化庫(kù),它能夠幫助用戶輕松創(chuàng)建各種交互式圖表。作為 ECharts 的 Python 接口,Pyecharts 繼承了 ECharts 強(qiáng)大的可視化能力,同時(shí)提供了 Python 友好的 API 設(shè)計(jì),使得數(shù)據(jù)科學(xué)家和分析師能夠快速構(gòu)建專(zhuān)業(yè)級(jí)的數(shù)據(jù)可視化作品。
Pyecharts 的核心優(yōu)勢(shì)在于:
- 豐富的圖表類(lèi)型:支持超過(guò) 30 種常見(jiàn)圖表類(lèi)型,包括折線圖、柱狀圖、餅圖、散點(diǎn)圖、地圖等
- 高度可定制化:幾乎每個(gè)圖表元素都可以自定義,從顏色、字體到交互行為
- 交互式體驗(yàn):原生支持縮放、拖拽、懸停提示等交互功能
- 多種輸出格式:可輸出為 HTML、圖片或 Jupyter Notebook 內(nèi)嵌展示
- 簡(jiǎn)潔的 API:采用鏈?zhǔn)秸{(diào)用設(shè)計(jì),代碼直觀易讀
餅狀圖是數(shù)據(jù)可視化中展示比例關(guān)系的經(jīng)典圖表。本文將基于 Pyecharts 展示多種餅狀圖的繪制方法,包括基礎(chǔ)餅圖、南丁格爾玫瑰圖等高級(jí)形式,并提供完整的代碼示例和效果展示。
基礎(chǔ)餅狀圖
展示高中同學(xué)職業(yè)分布的比例關(guān)系:
from pyecharts import options as opts
from pyecharts.charts import Pie
categories = ['程序員','教師','醫(yī)生','護(hù)士','警察','老板','律師','翻譯','運(yùn)動(dòng)員']
values = [18, 5, 3, 4, 8, 2, 2, 5, 1]
pie = (
Pie()
.add('高中同學(xué)職業(yè)占比', list(zip(categories, values)))
.set_global_opts(title_opts=opts.TitleOpts(title="職業(yè)分布"))
.set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}"))
)
pie.render_notebook()效果特點(diǎn):
- 清晰展示各職業(yè)占比
- 懸浮顯示具體數(shù)值
- 交互式圖例開(kāi)關(guān)
調(diào)整圖例位置
當(dāng)圖例項(xiàng)較多時(shí),優(yōu)化圖例位置可提升可讀性:
pie = (
Pie()
.add('職業(yè)占比', list(zip(categories, values)))
.set_global_opts(
title_opts=opts.TitleOpts(title="優(yōu)化圖例位置"),
legend_opts=opts.LegendOpts(pos_left="25%") # 圖例左移
)
)關(guān)鍵參數(shù):
pos_left/pos_right:控制水平位置pos_top/pos_bottom:控制垂直位置orient:圖例方向(horizontal/vertical)
自定義顏色方案
為不同職業(yè)分配特定顏色:
custom_colors = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728",
"#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22"]
pie = (
Pie()
.add('職業(yè)占比', list(zip(categories, values)))
.set_colors(custom_colors) # 應(yīng)用自定義顏色
)南丁格爾玫瑰圖
用半徑長(zhǎng)度反映數(shù)值大小的玫瑰圖:
pie = (
Pie()
.add(
series_name='職業(yè)占比',
data_pair=list(zip(categories, values)),
rosetype="radius", # 半徑模式
radius="85%", # 圖表大小
label_opts=opts.LabelOpts(is_show=False)
)
.set_global_opts(legend_opts=opts.LegendOpts(is_show=False))
)玫瑰圖模式說(shuō)明:
radius:半徑反映數(shù)值大小area:所有扇形角度相同,僅半徑不同
滾動(dòng)圖例
當(dāng)分類(lèi)過(guò)多時(shí)使用滾動(dòng)圖例:
pie = (
Pie()
.add('職業(yè)占比', list(zip(categories, values)))
.set_global_opts(
legend_opts=opts.LegendOpts(
type_="scroll", # 滾動(dòng)模式
pos_left="80%", # 右側(cè)放置
orient="vertical" # 垂直方向
)
)
)雙玫瑰圖對(duì)比
在同一畫(huà)布展示兩種玫瑰圖類(lèi)型:
pie = (
Pie()
.add("", list(zip(categories, values)),
radius=["30%", "75%"],
center=["25%", "50%"], # 左側(cè)圖表
rosetype="radius") # 半徑模式
.add("", list(zip(categories, values)),
radius=["30%", "75%"],
center=["75%", "50%"], # 右側(cè)圖表
rosetype="area") # 面積模式
)對(duì)比效果:
- 左圖:半徑+角度雙重編碼
- 右圖:僅半徑編碼數(shù)據(jù)
給讀者的學(xué)習(xí)建議
1. 學(xué)習(xí)路徑規(guī)劃
對(duì)于 Pyecharts 的學(xué)習(xí),建議按照以下路徑循序漸進(jìn):
初級(jí)階段(1-2周):
- 掌握基礎(chǔ)圖表(柱狀圖、折線圖、餅圖)的繪制
- 了解全局配置項(xiàng)和系列配置項(xiàng)的區(qū)別
- 熟悉常見(jiàn)樣式設(shè)置(顏色、標(biāo)題、圖例等)
中級(jí)階段(2-4周):
- 學(xué)習(xí)組合圖表(如折線+柱狀圖)的繪制
- 掌握地圖和地理坐標(biāo)系的用法
- 了解數(shù)據(jù)預(yù)處理與 Pyecharts 的結(jié)合
高級(jí)階段(1個(gè)月以上):
- 研究自定義主題和擴(kuò)展組件
- 學(xué)習(xí)與 Web 框架(如 Flask、Django)的集成
- 探索大數(shù)據(jù)量下的性能優(yōu)化
以上就是Python使用Pyecharts繪制精美餅狀圖的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Python Pyecharts繪制餅狀圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于Opencv制作的美顏相機(jī)帶你領(lǐng)略美顏特效的效果
最關(guān)于美顏類(lèi)相機(jī)最重要的是第一步:人臉檢測(cè),本篇文章中是采用openCV開(kāi)源庫(kù)實(shí)現(xiàn),文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09
Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Numpy截取指定范圍內(nèi)的數(shù)據(jù)方法
今天小編就為大家分享一篇Numpy截取指定范圍內(nèi)的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
python3:excel操作之讀取數(shù)據(jù)并返回字典 + 寫(xiě)入的案例
這篇文章主要介紹了python3:excel操作之讀取數(shù)據(jù)并返回字典 + 寫(xiě)入的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Python中Timedelta轉(zhuǎn)換為Int或Float方式
這篇文章主要介紹了Python中Timedelta轉(zhuǎn)換為Int或Float方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Python中搜索和替換文件中的文本的實(shí)現(xiàn)(四種)
本文主要介紹了Python中搜索和替換文件中的文本的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

