plt.pie饼图的绘制
目录
- plt.pie函数
- 实战
plt.pie函数
import matplotlib.pyplot as plt
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1,startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)
参数介绍:
- x即每个扇形的占比的序列或数组
- explode如果不是None,则是一个len(x)长度的数组,指定每一块的突出程度;突出显示,设置每一块分割出来的间隙大小
- labels为每个扇形提供标签的字符串序列 colors为每个扇形提供颜色的字符串序列
- autopct如果它是一个格式字符串,标签将是fmt % pct。如果它是一个函数,它将被调用。
- shadow阴影
- startangle从x轴逆时针旋转,饼的旋转角度
- pctdistance, default:0.6每个饼片的中心与由autopct生成的文本的开头之间距离与半径的比率,大于1的话会显示在圆外
- labeldistance, default:1.1饼状图标签绘制时的径向距离(我认为这个也与8类似是个比率)。如果设置为None,则不绘制标签,而是存储在图例()中使用。
实战
实战1:
import matplotlib.pyplot as pltlabels = 'Frogs', 'Hogs', 'Dogs', 'Logs' # 定义标签
sizes = [15, 30, 45, 10] # 每一块的比例
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # 每一块的颜色
explode = (0, 0.1, 0, 0) # 突出显示,这里仅仅突出显示第二块(即'Hogs')plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)
plt.axis('equal') # 显示为圆(避免比例压缩为椭圆)
plt.show()
实战2:
# 导入第三方模块
import matplotlib.pyplot as plt
#用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 构造数据
edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
labels = ['中专','大专','本科','硕士','其他']
explode = [0,0.1,0,0,0]
# 绘制饼图
plt.axes(aspect='equal')
plt.pie(x = edu, # 绘图数据labels=labels, # 添加教育水平标签autopct='%.1f%%', # 设置百分比的格式,这里保留一位小数explode = explode)
# 显示图形
plt.show()