欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用Pyecharts繪制精美餅狀圖的示例代碼

 更新時間:2025年07月23日 10:42:51   作者:空腦小白  
餅狀圖是數(shù)據(jù)可視化中展示比例關(guān)系的經(jīng)典圖表,本文將基于 Pyecharts 展示多種餅狀圖的繪制方法,包括基礎(chǔ)餅圖、南丁格爾玫瑰圖等高級形式,并提供完整的代碼示例和效果展示,需要的朋友可以參考下

Pyecharts 簡介

Pyecharts 是一個基于 ECharts 的 Python 數(shù)據(jù)可視化庫,它能夠幫助用戶輕松創(chuàng)建各種交互式圖表。作為 ECharts 的 Python 接口,Pyecharts 繼承了 ECharts 強大的可視化能力,同時提供了 Python 友好的 API 設(shè)計,使得數(shù)據(jù)科學(xué)家和分析師能夠快速構(gòu)建專業(yè)級的數(shù)據(jù)可視化作品。

Pyecharts 的核心優(yōu)勢在于:

  • 豐富的圖表類型:支持超過 30 種常見圖表類型,包括折線圖、柱狀圖、餅圖、散點圖、地圖等
  • 高度可定制化:幾乎每個圖表元素都可以自定義,從顏色、字體到交互行為
  • 交互式體驗:原生支持縮放、拖拽、懸停提示等交互功能
  • 多種輸出格式:可輸出為 HTML、圖片或 Jupyter Notebook 內(nèi)嵌展示
  • 簡潔的 API:采用鏈式調(diào)用設(shè)計,代碼直觀易讀

餅狀圖是數(shù)據(jù)可視化中展示比例關(guān)系的經(jīng)典圖表。本文將基于 Pyecharts 展示多種餅狀圖的繪制方法,包括基礎(chǔ)餅圖、南丁格爾玫瑰圖等高級形式,并提供完整的代碼示例和效果展示。

基礎(chǔ)餅狀圖

展示高中同學(xué)職業(yè)分布的比例關(guān)系:

from pyecharts import options as opts
from pyecharts.charts import Pie

categories = ['程序員','教師','醫(yī)生','護士','警察','老板','律師','翻譯','運動員']
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()

效果特點

  • 清晰展示各職業(yè)占比
  • 懸浮顯示具體數(shù)值
  • 交互式圖例開關(guān)

調(diào)整圖例位置

當圖例項較多時,優(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)用自定義顏色
)

南丁格爾玫瑰圖

用半徑長度反映數(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))
)

玫瑰圖模式說明

  • radius:半徑反映數(shù)值大小
  • area:所有扇形角度相同,僅半徑不同

滾動圖例

當分類過多時使用滾動圖例:

pie = (
    Pie()
    .add('職業(yè)占比', list(zip(categories, values)))
    .set_global_opts(
        legend_opts=opts.LegendOpts(
            type_="scroll",      # 滾動模式
            pos_left="80%",      # 右側(cè)放置
            orient="vertical"    # 垂直方向
        )
    )
)

雙玫瑰圖對比

在同一畫布展示兩種玫瑰圖類型:

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")        # 面積模式
)

對比效果

  • 左圖:半徑+角度雙重編碼
  • 右圖:僅半徑編碼數(shù)據(jù)

給讀者的學(xué)習(xí)建議

1. 學(xué)習(xí)路徑規(guī)劃

對于 Pyecharts 的學(xué)習(xí),建議按照以下路徑循序漸進:

初級階段(1-2周)

  • 掌握基礎(chǔ)圖表(柱狀圖、折線圖、餅圖)的繪制
  • 了解全局配置項和系列配置項的區(qū)別
  • 熟悉常見樣式設(shè)置(顏色、標題、圖例等)

中級階段(2-4周)

  • 學(xué)習(xí)組合圖表(如折線+柱狀圖)的繪制
  • 掌握地圖和地理坐標系的用法
  • 了解數(shù)據(jù)預(yù)處理與 Pyecharts 的結(jié)合

高級階段(1個月以上)

  • 研究自定義主題和擴展組件
  • 學(xué)習(xí)與 Web 框架(如 Flask、Django)的集成
  • 探索大數(shù)據(jù)量下的性能優(yōu)化

以上就是Python使用Pyecharts繪制精美餅狀圖的示例代碼的詳細內(nèi)容,更多關(guān)于Python Pyecharts繪制餅狀圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論