matplotlib.pyplot.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,
rotatelabels=False, *, data=None)
x
: 传入的数据
explode
:默认x
的饼图不爆炸。自定义确定哪一块爆炸&爆炸距离。
labels
和labeldistance
: 默认x
没有标签,标签位于1.1倍半径处。自定义每块饼的标签,和位置。
autopct
和pctdistance
: 默认x
不显示每块饼的百分比标注。autopct
自定义是每块饼的百分比属性,如几位小数, pctdistance
默认在半径0.6位置显示百分数,自定义百分数距离半径的比例。
shadow
: 默认x
是二维平面饼图,没有阴影。自定义饼图是否有阴影属性。
startangle
: 默认x
第一块饼和水平面的角度不固定。自定义第一块饼图和水平面的角度。
import matplotlib.pyplot as plt
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # 只爆炸第二块饼,爆炸距离是半径的0.1。
fig, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%.1f%%', pctdistance=0.7, shadow=True, startangle=90)
ax1.axis('equal') # 等价于 ax1.set(aspect='euqal'),使得饼图在figure窗口放大缩小的过程中,保持圆形不变。
plt.show()
radius
: 默认x
半径参数是1。自定义半径的大小,可以是int | float。
counterclock
: 默认布尔值True
,即按照逆时针对x
饼图排列。
wedgeprops
: 默认无设定。自定义每块饼的属性
explode = (0, 0.2, 0, 0)
ax1.pie(sizes, explode=explode, labels=laels, autopct='%.1f%%', pctdistance=0.7, shadow=True, startangle=90,
counterclock=False, wedgeprops=dict(edgecolor='w', width=0.7, linewidth=10))
其中:
counterclock=False
:顺时针排列每块饼图
wedgeprops=dict()
:设定每块饼图的一些属性。其中edgecolor='w'
设定边框颜色为白色,width=0.7
设定饼图0.3倍半径是空白,linewidth=10
设定边框的粗细为10。
3, edgecolor=‘w’}
textprops
: 默认无。也是字典类型参数dict(),自定义文本对象属性。
center
: 默认(0, 0),即饼图圆心在figure的(二维)坐标。自定义饼图圆心位置。
frame
: 默认False。自定义是否显示x, y坐标轴外框。 frame=True
如下图:
rotatelabels
: 默认无。自定义是否按照角度进行调整每块饼的label。rotatelabels=True
如下图:
colors
: 默认系统自动设定x
每块饼的颜色。自定义每块饼的颜色。