plt.pie()
可以實現畫餅圖
plt.pie(x, explode=None, labels=None, colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'), 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 )
參數說明:
x:已經統計好的每個類別的頻數值,可以時df[col].value_counts(),之后的值
explode :(每一塊)離開中心距離
labels:(每一塊)餅圖外側顯示的說明文字
autopct:控制餅圖內百分比設置,可以使用format字符串或者format function '%1.1f'指小數點前后位數(沒有用空格補齊
shadow:是否陰影
labeldistance :繪制位置,相對於半徑的比例, 如<1則繪制在餅圖內側
startangle:起始繪制角度,默認圖是從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起
pctdistance:類似於labeldistance,指定autopct的位置刻度
radius:控制餅圖半徑
例子:
import pandas as pd import numpy as np import matplotlib.pyplot as plt labels=['China','Swiss','USA','UK','Laos','Spain'] X=[222,42,455,664,454,334] plt.pie(X,labels=labels,autopct='%1.2f%%') #畫餅圖(數據,數據對應的標簽,百分數保留兩位小數點) plt.title("Pie chart") plt.show()
# 讀取數據文件 telcom=pd.read_csv('F:\\python\\電信用戶數據\\WA_Fn-UseC_-Telco-Customer-Churn.csv')
churnvalue=telcom["Churn"].value_counts()
labels=telcom["Churn"].value_counts().index
rcParams["figure.figsize"]=6,6 plt.pie(churnvalue,labels=labels,colors=["whitesmoke","yellow"], explode=(0.1,0),autopct='%1.1f%%', shadow=True) plt.title("Proportions of Customer Churn") plt.show()
df.plot.pie()
fig, axes = plt.subplots(1,2,figsize=(12,6)) finalTrain['SeriousDlqin2yrs'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=axes[0]) axes[0].set_title('SeriousDlqin2yrs')
后面一個圖可以忽略
number_n_r.sum(1).sort_values().plot.pie(figsize=(6,6),autopct='%.2f%%',title='圖2:房屋地區占比')