饼图是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系的。 在matplotlib中,可以通过plt.pie来实现,其中的参数如下:
- x:饼图的比例序列。
- labels:饼图上每个分块的名称文字。
- explode:设置某几个分块是否要分离饼图。
- autopct:设置比例文字的展示方式。比如保留几个小数等。
- shadow:是否显示阴影。
- textprops:文本的属性(颜色,大小等)。
- 其他参数:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.pie.html#matplotlib.pyplot.pie
返回值:
- patches:饼图上每个分块的对象。
- texts:分块的名字文本对象。
- autotexts:分块的比例文字对象。
假如现在我们有一组数据,用来记录各个操作系统的市场份额的。那么用饼状图表示如下:
oses = {'windows7':60.86,'windows10': 18.46,'windows8': 3.61,'windows xp': 10.3,'mac os': 6.78,'其他': 1.12} names = oses.keys() percents = oses.values() patches,texts,autotexts = plt.pie(percents,labels=names,autopct="%.2f%%",explode=(0,0.05,0,0,0,0))for text in texts+autotexts: plt.setp(text,fontproperties=font) text.set_fontsize(10)for text in autotexts: text.set_color("white")
效果图如下: