日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例

發布時間:2025/4/5 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)

餅圖(pie),即在一個圓圈內分成幾塊,顯示不同數據系列的占比大小,這也是我們在日常數據的圖形展示中最常用的圖形之一。

在python中常用matplotlib的pie來繪制,基本命令如下所示(python3.X版本):

vals = [1, 2, 3, 4]#創建數據系列

fig, ax = plt.subplots()#創建子圖

labels = 'A', 'B', 'C', 'D'

colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']

explode = (0, 0.1, 0, 0)

ax.pie(vals, explode=explode, labels=labels, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=90,radius=1.2)

ax.set(aspect="equal", title='Pie plot with `ax.pie`')#設置標題以及圖形的對稱

plt.show()

上圖是在對餅圖的模塊顏色、標簽、百分比、標題、角度、圓形半徑,以及某一塊凸出(explode)進行設置后,最終呈現的圖形效果。大部分設置來自于pie()函數內,即:

pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6,

shadow=False, labeldistance=1.1, startangle=None, radius=None)

對于該函數內各參數的含義,網上資料比比皆是,在這里不再贅述,大家可以根據自己需求來多次嘗試,設置美化圖形。

(2)

目前matplotlib中尚無雙層餅圖繪制的專門介紹,但是,我們注意到pie()函數中有個餅圖半徑的設置——radius,于是,我就想:可不可以在同一個figure下繪制兩個不同的圓餅,形成嵌套餅圖,從而制作出雙層餅圖?比如:

作圖如下:

vals1 = [1, 2, 3, 4]

vals2 = [2, 3, 4, 5]

fig, ax = plt.subplots()

labels = 'A', 'B', 'C', 'D'

ax.pie(vals1, radius=1.2)

ax.pie(vals2, radius=1)

ax.set(aspect="equal", title='Pie plot with `ax.pie`')

plt.show()

初戰告捷!令我信心大增!

因此,在matplotlib下繪制雙層餅圖的方法可以總結為:基于不同的數據系列,分別設計兩個餅圖,嵌套在一起,對每個餅圖的pie()函數內參數radius進行設置,就可以得到雙層餅圖。

(3)

但是,可以看到上面的那個圖形還有點粗糙,還可以加入百分比、color等等,進一步設置:

vals1 = [1, 2, 3, 4]

vals2 = [2, 3, 4, 5]

fig, ax = plt.subplots()

labels = 'A', 'B', 'C', 'D'

ax.pie(vals1, radius=1.2,autopct='%1.1f%%',pctdistance=0.9)

ax.pie(vals2, radius=1,autopct='%1.2f%%',pctdistance=0.5)

ax.set(aspect="equal", title='Pie plot with `ax.pie`')

#plt.legend()

plt.legend(labels,bbox_to_anchor=(1.05, 1), loc='best', borderaxespad=0.)

plt.show()

為方便,在這里沒有對顏色、角度進行參數設置,后期若大家有興趣,可以進一步加入不同參數再次設置。在這里主要說明的是:

1、圖中各餅塊的百分比數據,也在各自餅圖中對pctdistance(百分比離圓形距離)進行不同設置,以便區分開,這里邊也經過多次嘗試;

2、對于各餅塊顏色代表的數據系列標簽,采用圖例的方式plt.legend(),放在右邊,不然餅圖中展示的文本內容過多,會影響圖形效果;

3、legend()的圖例的位置可以通過關鍵字參數 loc 指定,bbox_to_anchor 關鍵字可讓用戶手動控制圖例布局。 例如,如果你希望軸域圖例位于圖像的右上角而不是軸域的邊角,則只需指定角的位置以及該位置的坐標系。

(4)

進一步地,在雙層餅圖的基礎上,我又在想:可不可以繪制雙層環形圖。

在這里也就是轉換一下思路:在兩個餅圖里邊再加個小圓形圖,并設置成白色背景。經過嘗試,結果也如我所愿:

vals1 = [1, 2, 3, 4]

vals2 = [2, 3, 4, 5]

vals3=[1]

fig, ax = plt.subplots()

labels = 'A', 'B', 'C', 'D'

ax.pie(vals1, radius=1.2,autopct='%1.1f%%',pctdistance=0.9)

ax.pie(vals2, radius=1,autopct='%1.1f%%',pctdistance=0.75)

ax.pie(vals3, radius=0.6,colors='w')

ax.set(aspect="equal", title='Pie plot with `ax.pie`')

#plt.legend()

plt.legend(labels,bbox_to_anchor=(1, 1), loc='best', borderaxespad=0.)

plt.show()

其原理為:繪制三個嵌套餅圖,其中最里邊的餅圖,設置半徑較小,整個餅圖只有一個變量,因此不會分割,同時將背景色設置成白色colors='w',如此,大功告成!

實際上,還可以進一步延伸,繪制多層餅圖、多層環形圖,其原理都是繪制半徑不同的pie,并設置不同的參數。

總結

以上就是本文關于Python通過matplotlib畫雙層餅圖及環形圖簡單示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

總結

以上是生活随笔為你收集整理的python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜成人影视 | 男女激情大尺度做爰视频 | 美脚の诱脚舐め脚视频播放 | 国产精品99久久久久久宅男 | 久久人人人 | 午夜寻花 | 精品久久久免费 | 天天干天天谢 | 亚洲爆乳无码精品aaa片蜜桃 | 午夜精品少妇 | 亚洲综合首页 | 亚洲免费视频一区二区三区 | 人与动物2免费观看完整版电影高清 | 久久这里只有精品久久 | 黄色午夜影院 | 国外亚洲成av人片在线观看 | 精品亚洲一区二区三区 | 久久影业 | 欧美精品久久久久性色 | 99视频+国产日韩欧美 | 欧美激情三区 | 亚洲国产欧美在线观看 | 中文成人无字幕乱码精品区 | 黄色片视频免费在线观看 | 911精品国产一区二区在线 | 日韩在线视频免费播放 | 2021天天干| 亚洲国产精品福利 | 午夜天堂影院 | 亚洲理伦电影 | 中文字幕一区二区三区不卡 | 亚洲av无码精品色午夜 | 日产毛片 | 成人欧美一区二区三区黑人孕妇 | 精品免费一区 | 免费观看a毛片 | 成人午夜精品福利 | 久久久精品一区 | 三级小视频在线观看 | 蜜臀av性久久久久av蜜臀妖精 | 国产字幕在线观看 | 碧蓝之海动漫在线观看免费高清 | 97国产精品久久久 | 456亚洲影视 | 九九九久久久精品 | 少女忠诚电影高清免费 | 亚洲一区二区美女 | 久久久久久在线观看 | 最新色网站 | 久久久亚洲精品无码 | 视频一区二区三区在线观看 | 少妇一边呻吟一边说使劲视频 | 久久精品久久国产 | 在哪里可以看毛片 | 天堂av中文在线 | 嫩草免费视频 | 色射视频 | 九九亚洲视频 | 91国产中文字幕 | 99热3| 四虎色网 | 特黄三级又爽又粗又大 | 不卡中文字幕在线 | 久久久高潮 | 亚洲视频网站在线 | 自慰无码一区二区三区 | 欧美日韩3p | 国产伦精品一区二区三区视频痴汉 | 日本一区二区三区中文字幕 | 极品美女高潮 | 一级草逼片 | 欧洲久久精品 | 亚洲免费在线 | 96国产精品 | 欧美激情久久久久久久 | 久久五月婷 | 国产精品igao视频 | 久久精品亚洲一区 | 一区福利视频 | 日韩欧美午夜 | 福利社午夜 | 欧美一级二级片 | 国产xxxxx视频 | 大桥未久视频在线观看 | 亚洲精品在线视频免费观看 | 欧美午夜精品久久久久久孕妇 | 操天天| 欧美婷婷精品激情 | 久久五月天综合 | 97超级碰碰人妻中文字幕 | 日日躁夜夜躁白天躁晚上躁91 | 午夜精品视频一区二区三区在线看 | 成年人在线视频观看 | 99视频在线精品免费观看2 | 最新中文字幕av | 97视频在线 | 一起操在线观看 | 欧美1区2区3区4区 | 少妇被躁爽到高潮无码人狍大战 |