Matplotlib - 饼图、环形图 pie() 多重饼图 subplots() 所有用法详解
生活随笔
收集整理的這篇文章主要介紹了
Matplotlib - 饼图、环形图 pie() 多重饼图 subplots() 所有用法详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
基本用法?
餅圖中突出顯示某部分
環(huán)形圖(空心餅圖)
多重餅圖,并添加分割線
相較散點圖和折線圖,柱狀圖、餅圖、箱線圖是另外 3 種數(shù)據(jù)分析常用的圖形,主要用于分析數(shù)據(jù)內(nèi)部的分布狀態(tài)或分散狀態(tài)。餅圖主要用于查看各分組數(shù)據(jù)在總數(shù)據(jù)中的占比。
Matplotlib 中繪制餅圖的函數(shù)為 pie () ,使用語法如下:
plt.pie(x, explode=None, labels=None, colors=None,?autopct=None, pctdistance=0.6, shadow=False,?
? ? ? ? ? labeldistance=1.1, startangle=None,?radius=None, counterclock=True, wedgeprops=None,?
? ? ? ? ? textprops=None, center=(0, 0), frame=False)
常用參數(shù)及說明:
| 參數(shù) | 接收值 | 說明 | 默認值 |
| x | array | 繪圖的數(shù)據(jù); | 無 |
| explode | array | 餅圖中各個餅之間的間距; | 0 |
| labels | string | 圖例說明; | 無 |
| colors | string | 指定餅圖的填充色; | 隨機色 |
| autopct | string | 百分比顯示格式; | None |
| pctdistance | 數(shù)值 | 設(shè)置百分比標(biāo)簽與圓心的距離; | 0.6 |
| shadow | bool | 是否添加餅圖的陰影效果; | FALSE |
| labeldistance | 數(shù)值 | 設(shè)置各扇形標(biāo)簽(圖例)與圓心的距離; | 1.1 |
| startangle | 數(shù)值 | 設(shè)置餅圖的初始擺放角度; | 0 |
| radius | 數(shù)值 | 設(shè)置餅圖的半徑大小; | None |
| counterclock | bool | 是否讓餅圖按逆時針順序呈現(xiàn); | TRUE |
| wedgeprops | string | 設(shè)置餅圖內(nèi)外邊界的屬性,如邊界線的粗細、顏色等; | None |
| textprops | string | 設(shè)置餅圖中文本的屬性,如字體大小、顏色等; | None |
| center | 坐標(biāo) | 指定餅圖的中心點位置 | 原點(0, 0) |
| frame | bool | 是否要顯示餅圖背后的圖框,如果設(shè)置為True的話,需要同時控制圖框x軸、y軸的范圍和餅圖的中心位置; | FALSE |
基本用法?
import pandas as pd import matplotlib.pyplot as plt#讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) #取dataframe中的最后一行的數(shù)據(jù)畫餅圖 x = data[data['時間']==2018].iloc[:,1:].values.tolist()[0]plt.figure(figsize=(5,5))#設(shè)置畫布的尺寸 plt.title('Examples of Pie Graph',fontsize=20)#標(biāo)題,并設(shè)定字號大小 labels = 'Jay income','JJ income','Jolin income','Hannah income'#圖例 colors = ['hotpink','slateblue','goldenrod','olivedrab']#startangle:從90度的位置開始畫第一個餅圖;autopct:顯示一位小數(shù);其他參數(shù)使用默認值 plt.pie(x,labels=labels,colors = colors, startangle=90,autopct='%1.1f%%')plt.show()#顯示圖像餅圖中突出顯示某部分
?通過參數(shù) explode 來實現(xiàn):
import pandas as pd import matplotlib.pyplot as plt#讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) #取dataframe中的最后一行的數(shù)據(jù)畫餅圖 x = data[data['時間']==2018].iloc[:,1:].values.tolist()[0]plt.figure(figsize=(5,5))#設(shè)置畫布的尺寸 plt.title('Examples of Pie Graph',fontsize=20)#標(biāo)題,并設(shè)定字號大小 labels = 'Jay income','JJ income','Jolin income','Hannah income'#圖例 colors = ['hotpink','slateblue','goldenrod','olivedrab'] explodes = (0,0,0.1,0)#突出顯示Jolin income這部分的餅圖plt.pie(x,explode = explodes, labels=labels,colors = colors, startangle=90,autopct='%1.1f%%')plt.show()#顯示圖像環(huán)形圖(空心餅圖)
import pandas as pd import matplotlib.pyplot as plt#讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) #取dataframe中的最后一行的數(shù)據(jù)畫餅圖 x = data[data['時間']==2018].iloc[:,1:].values.tolist()[0] x_0 = [1,0,0,0]#用于顯示空心plt.figure(figsize=(5,5))#設(shè)置畫布的尺寸 labels = 'Jay income','JJ income','Jolin income','Hannah income'#圖例 colors = ['hotpink','slateblue','goldenrod','olivedrab']plt.pie(x , radius=1.0,pctdistance = 0.8,labels=labels,colors = colors, startangle=90,autopct='%1.1f%%') plt.pie(x_0, radius=0.6,colors = 'w')plt.show()#顯示圖像?
多重餅圖,并添加分割線
import numpy as np import pandas as pd import matplotlib.pyplot as pltdatafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) x1 = data[data['時間']==2005].iloc[:,1:].values.tolist()[0]#多重餅圖第一層數(shù)據(jù) x2 = data[data['時間']==2010].iloc[:,1:].values.tolist()[0]#多重餅圖第二層數(shù)據(jù)fig,ax = plt.subplots() colors = ['hotpink','slateblue','goldenrod','olivedrab'] labels = 'Jay income','JJ income','Jolin income','Hannah income'#圖例 pie_1 = ax.pie(x1,startangle=90,autopct='%1.1f%%',radius=1.5,pctdistance = 0.9,colors=colors, labels=labels) pie_2 = ax.pie(x2,startangle=90,autopct='%1.1f%%',radius=1.2,pctdistance = 0.6,colors=colors)#添加多重餅圖的分割線 for pie_wedge in pie_1[0]:pie_wedge.set_edgecolor('black') for pie_wedge in pie_2[0]:pie_wedge.set_edgecolor('black')ax.set(aspect="equal") plt.show()#顯示圖表?
?
?
總結(jié)
以上是生活随笔為你收集整理的Matplotlib - 饼图、环形图 pie() 多重饼图 subplots() 所有用法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同电脑 命名管道_电脑键盘上的F1到F
- 下一篇: svn忽略指定文件夹下的文件_管理Ste