plt.pie(),df.plot.pie() 画饼图

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:房屋地区占比')








原文地址:https://www.cnblogs.com/cgmcoding/p/13355546.html