饼图
plt.pie()参数:
x为一个列表,值为百分比
labels:列表形式,值为标签
autopct:设置百分比的格式,eg:autopct=’%.1f%%’,
explode列表形式,值为每一部分与圆心的距离,用于突出显示数据
colors列表形式
pctdistance 设置百分比标签与圆心的距离
startangle饼图的初始角度
radius半径
wedgeprog饼图内外边界的属性值
textprops 设置文本标签的属性值
import matplotlib.pyplot as plt
# 添加修饰的饼图
explode = [0,0.1,0,] # 生成数据,用于突出显示B
colors=['#9999ff','#ff9999','#7777aa'] # 自定义颜色
# 中文乱码和坐标轴负号的处理
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
# 将横、纵坐标轴标准化处理,确保饼图是一个正圆,否则为椭圆
plt.axes(aspect='equal')
# 绘制饼图
plt.pie(x = [0.2,0.3,0.5], # 绘图数据
explode=explode, # 突出显示B
labels=['第一个','第二个','第三个'], # 添加教育水平标签
colors=colors, # 设置饼图的自定义填充色
autopct='%.1f%%', # 设置百分比的格式,这里保留一位小数
pctdistance=0.8, # 设置百分比标签与圆心的距离
labeldistance = 1.1, # 设置教育水平标签与圆心的距离
startangle = 180, # 设置饼图的初始角度
radius = 2, # 设置饼图的半径
counterclock = False, # 是否逆时针,这里设置为顺时针方向
wedgeprops = {'linewidth': 1.5, 'edgecolor':'red'},# 设置饼图内外边界的属性值
textprops = {'fontsize':10, 'color':'black'}, # 设置文本标签的属性值
)
# 添加图标题
plt.title('饼图')
# 显示图形
plt.show()
将startangel改为90:
也可用plot画饼图
import pandas as pd
data = pd.Series({'A':0.2,'B':0.3,'C':0.5})
# 将序列的名称设置为空字符,否则绘制的饼图左边会出现None这样的字眼
#data.name = ''
# 控制饼图为正圆
#plt.axes(aspect = 'equal')
# plot方法对序列进行绘图
data.plot(kind = 'pie', # 选择图形类型
autopct='%.1f%%', # 饼图中添加数值标签
radius = 1, # 设置饼图的半径
startangle = 180, # 设置饼图的初始角度
counterclock = False, # 将饼图的顺序设置为顺时针方向
title = 'PIE', # 为饼图添加标题
wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'}, # 设置饼图内外边界的属性值
textprops = {'fontsize':10, 'color':'black'} # 设置文本标签的属性值
)
# 显示图形
plt.show()
# 将序列的名称设置为空字符,否则绘制的饼图左边会出现None这样的字眼
data.name = ''