最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python繪制帶偏移的餅圖

 更新時(shí)間:2025年08月21日 09:47:38   作者:Code_Verse  
這篇文章主要為大家詳細(xì)介紹了如何用 Python 的 matplotlib 庫制作帶偏移效果的餅圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

數(shù)據(jù)可視化的魅力在于讓冰冷的數(shù)字變得直觀易懂,而一點(diǎn)點(diǎn)創(chuàng)意就能讓圖表從 “看得懂” 升級為 “記得住”。今天我們就來探討如何用 Python 的 matplotlib 庫制作帶偏移效果的餅圖,讓重點(diǎn)數(shù)據(jù)從圖表中 “跳出來”,瞬間抓住讀者的注意力。

一、為什么需要偏移效果的餅圖

常規(guī)餅圖能展示各部分的占比關(guān)系,但當(dāng)我們需要強(qiáng)調(diào)某幾個(gè)關(guān)鍵類別時(shí),單純的顏色區(qū)分往往不夠醒目。這時(shí)候,偏移效果就派上用場了 —— 通過將特定扇形從餅圖主體中 “拉開” 一段距離,能自然引導(dǎo)視線聚焦到這些重點(diǎn)數(shù)據(jù)上,讓信息傳遞更高效。

比如在全球森林覆蓋率分析中,南美洲和非洲的森林資源占比顯著領(lǐng)先,我們就可以通過偏移效果突出這兩個(gè)大洲的數(shù)據(jù),讓讀者一眼 get 到核心信息。

二、實(shí)戰(zhàn):制作全球森林覆蓋率偏移餅圖

下面我們一步步實(shí)現(xiàn)這個(gè)帶偏移效果的餅圖,代碼已為你準(zhǔn)備好,每一步都有詳細(xì)解析:

1. 導(dǎo)入必要的庫

首先需要導(dǎo)入 matplotlib(繪圖核心)和 numpy(輔助配色):

import matplotlib.pyplot as plt
import numpy as np

2. 準(zhǔn)備數(shù)據(jù)

我們使用全球各大洲的森林覆蓋率百分比數(shù)據(jù),包含兩個(gè)關(guān)鍵部分:

  • sizes:各部分的數(shù)值(占比)
  • labels:對應(yīng)類別的名稱
# 數(shù)據(jù):全球不同大洲的森林覆蓋率百分比
sizes = [31, 25, 12, 9, 7, 5, 1]
labels = ['South America', 'Africa', 'North America', 'Russia', 'Australia', 'Asia', 'Europe']

3. 設(shè)計(jì)配色方案

好的配色能讓圖表既美觀又專業(yè)。這里我們使用 matplotlib 的tab20c配色方案,它能自動(dòng)為多個(gè)類別生成協(xié)調(diào)且有區(qū)分度的顏色:

colors = plt.cm.tab20c(np.linspace(0, 1, len(sizes)))  # 按類別數(shù)量生成對應(yīng)顏色

4. 核心:設(shè)置偏移參數(shù)

這是實(shí)現(xiàn)偏移效果的關(guān)鍵!explode參數(shù)是一個(gè)與sizes長度相同的元組,每個(gè)元素代表對應(yīng)扇形的偏移距離(0 表示不偏移)。我們讓南美洲和非洲偏移 0.05 個(gè)單位,其他保持原位:

explode = (0.05, 0.05, 0, 0, 0, 0, 0)  # 索引0(南美洲)和1(非洲)將被偏移

5. 繪制餅圖

調(diào)用plt.pie()函數(shù)繪制圖表,重點(diǎn)關(guān)注explode參數(shù)的應(yīng)用,同時(shí)設(shè)置標(biāo)簽、百分比顯示、起始角度等細(xì)節(jié):

plt.figure(figsize=(10, 7))  # 設(shè)置圖形尺寸為10x7英寸
wedges, texts, autotexts = plt.pie(
    sizes, 
    labels=labels,  # 顯示類別標(biāo)簽
    colors=colors,  # 應(yīng)用前面定義的顏色
    startangle=90,  # 從90度角開始繪制(讓餅圖更對稱)
    autopct='%1.1f%%',  # 顯示百分比,保留1位小數(shù)
    pctdistance=0.85,  # 百分比標(biāo)簽距離圓心的距離(0-1)
    explode=explode  # 應(yīng)用偏移設(shè)置
)

6. 美化與完善

最后添加標(biāo)題、確保餅圖為正圓形,并顯示圖表:

# 設(shè)置標(biāo)題,增加內(nèi)邊距、加粗字體
plt.title('Global Forest Coverage by Continent', pad=20, fontsize=14, fontweight='bold')
plt.axis('equal')  # 保證餅圖是圓形(否則可能變成橢圓)
plt.show()  # 顯示圖表

三、效果解析:偏移帶來的信息聚焦

運(yùn)行上述代碼后,你會看到一個(gè)清晰的餅圖:南美洲(31%)和非洲(25%)的扇形略微向外偏移,與其他大洲形成視覺區(qū)分,如圖所示:

這種設(shè)計(jì)的優(yōu)勢在于:

  • 無需文字說明,讀者能立刻識別出這兩個(gè)是重點(diǎn)區(qū)域
  • 保留了整體占比關(guān)系(其他大洲的比例仍清晰可見)
  • 視覺層次感更強(qiáng),圖表更具吸引力

四、拓展技巧:讓你的偏移餅圖更出彩

動(dòng)態(tài)調(diào)整偏移距離:偏移值(如 0.05)可以根據(jù)需要修改,值越大偏移越明顯(建議不超過 0.2,否則可能破壞整體感)

多組偏移:可以同時(shí)偏移多個(gè)類別,比如explode=(0.1, 0.1, 0, 0, 0.1, 0, 0),突出多個(gè)重點(diǎn)

美化標(biāo)簽:通過plt.setp()調(diào)整標(biāo)簽字體和顏色,例如:

plt.setp(texts, size=10, color='darkblue')  # 類別標(biāo)簽設(shè)為深藍(lán)色
plt.setp(autotexts, size=8, color='white', weight='bold')  # 百分比標(biāo)簽白色加粗

五、總結(jié)

帶偏移餅圖的核心在于偏移參數(shù)的使用,通過合理設(shè)置各部分的偏移距離,可以突出展示關(guān)鍵數(shù)據(jù)。整個(gè)實(shí)現(xiàn)過程分為三個(gè)主要步驟:

  • 導(dǎo)入庫并準(zhǔn)備數(shù)據(jù)(數(shù)值、標(biāo)簽、顏色)
  • 使用plt.pie()繪制餅圖,重點(diǎn)設(shè)置explode參數(shù)實(shí)現(xiàn)偏移效果
  • 完善圖表細(xì)節(jié)(標(biāo)題、形狀校正等)

掌握了這些代碼細(xì)節(jié)后,你可以將這種方法應(yīng)用于任何需要展示比例關(guān)系并突出重點(diǎn)類別的場景,只需替換sizeslabels數(shù)據(jù)即可。

到此這篇關(guān)于利用Python繪制帶偏移的餅圖的文章就介紹到這了,更多相關(guān)Python繪制餅圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在PyCharm中找不到Conda創(chuàng)建的環(huán)境的解決方法

    在PyCharm中找不到Conda創(chuàng)建的環(huán)境的解決方法

    本文主要介紹了在PyCharm中找不到Conda創(chuàng)建的環(huán)境的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python 將字符串完成特定的向右移動(dòng)方法

    python 將字符串完成特定的向右移動(dòng)方法

    今天小編就為大家分享一篇python 將字符串完成特定的向右移動(dòng)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python一些線程的玩法總結(jié)

    Python一些線程的玩法總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Python的一些知識,文章圍繞著Python線程的玩法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • django drf框架中的user驗(yàn)證以及JWT拓展的介紹

    django drf框架中的user驗(yàn)證以及JWT拓展的介紹

    這篇文章主要介紹了django drf框架中的user驗(yàn)證以及JWT拓展的介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 使用Python實(shí)現(xiàn)IP網(wǎng)絡(luò)掃描工具

    使用Python實(shí)現(xiàn)IP網(wǎng)絡(luò)掃描工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)IP網(wǎng)段掃描工具,可以輕松幫助你檢查每個(gè)網(wǎng)段下的IP是否在線,感興趣的可以了解下
    2025-01-01
  • Python實(shí)現(xiàn)GIF動(dòng)圖加載和降幀的方法詳解

    Python實(shí)現(xiàn)GIF動(dòng)圖加載和降幀的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和Pygame實(shí)現(xiàn)GIF動(dòng)圖加載和降幀的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解

    pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解

    我們在做數(shù)據(jù)處理的時(shí)候遇到pandas列轉(zhuǎn)行的問題,這篇文章主要給大家介紹了關(guān)于pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • python使用numpy讀取、保存txt數(shù)據(jù)的實(shí)例

    python使用numpy讀取、保存txt數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇python使用numpy讀取、保存txt數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 對python pandas中 inplace 參數(shù)的理解

    對python pandas中 inplace 參數(shù)的理解

    這篇文章主要介紹了對python pandas中 inplace 參數(shù)的理解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 基于PyQt4和PySide實(shí)現(xiàn)輸入對話框效果

    基于PyQt4和PySide實(shí)現(xiàn)輸入對話框效果

    這篇文章主要為大家詳細(xì)介紹了基于PyQt4和PySide實(shí)現(xiàn)輸入對話框效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評論

武乡县| 阿克陶县| 娱乐| 繁峙县| 柘城县| 赤壁市| 永登县| 佛教| 绥棱县| 星子县| 葫芦岛市| 平利县| 永州市| 会昌县| 梅河口市| 彰武县| 视频| 大新县| 平定县| 色达县| 寿光市| 孟村| 电白县| 化隆| 广昌县| 格尔木市| 涡阳县| 织金县| 鞍山市| 四川省| 民乐县| 东丽区| 五常市| 齐齐哈尔市| 措勤县| 社会| 金昌市| 伊宁市| 兴安县| 沙坪坝区| 句容市|