Python绘制饼图
饼图绘制示例。
此示例展示了饼图的各种参数。
标记切片绘制一个动物饼图并标记切片。要添加标签,将标签列表传递给labels参数
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels)
plt.show()

饼状图的每一片都是一个 patches.Wedge 对象;因此,除了这里展示的自定义之外,每个楔形还可以使用 wedgeprops 参数进行自定义,如在嵌套饼图中所示。
自动标记切片
向autopct传递一个函数或格式字符串以标注切片。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.show()

默认情况下,标签值是从切片的百分比大小获取的。
彩色切片
传递一个颜色列表给 colors 以设置每个切片的颜色。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels,
colors=['olivedrab', 'rosybrown', 'gray', 'saddlebrown'])
plt.show()

孵化切片
向hatch传递一个填充图案列表,以设置每个切片的图案。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, hatch=['**O', 'oO', 'O.O', '.||.'])
plt.show()

交换标签和自动百分比文本的位置
使用labeldistance和pctdistance参数分别定位标签和autopct文本。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%',
pctdistance=1.25, labeldistance=.6)
plt.show()

labeldistance 和 pctdistance 是半径的比例;因此它们在饼图中心为 0,在饼图边缘为 1,并且可以设置大于 1 以将文本放置在饼图外部。
爆炸、阴影和旋转切片
除了基本的饼图,这个演示还展示了一些可选功能:使用explode偏移某个扇区使用shadow添加投影使用startangle自定义起始角度这个示例对扇区进行了排序、分离(爆炸)并旋转它们
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')
fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
plt.show()

默认起始角度是0,这会使第一个扇形("青蛙")从正x轴开始。此示例将起始角度设置为90,使所有扇形逆时针旋转90度,并且青蛙扇形从正y轴开始。
控制大小
通过更改半径参数,通常还会调整文本大小以获得更好的视觉效果,饼图可以缩放。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%.0f%%',
textprops={'size': 'smaller'}, radius=0.5)
plt.show()

修改阴影
阴影参数可以选择性地接受带有 Shadow 补丁参数的字典。这可用于修改默认阴影。
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')
fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow={'ox': -0.04, 'edgecolor': 'none', 'shade': 0.9}, startangle=90)
plt.show()

参考文献:https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_features.html
更多推荐



所有评论(0)