# 从零开始学matplotlib画图(五): 饼图及环形图

xiaoxiao2021-11-25  10

## 一、分裂饼图

import matplotlib as mpl import matplotlib.pyplot as plt # 生成数据 labels = ['A', 'B', 'C', 'D', '其他'] share = [0.45, 0.25, 0.15, 0.05, 0.10] # 设置分裂属性 explode = [0, 0.1, 0, 0, 0] # 分裂饼图 plt.pie(share, explode = explode, labels = labels, autopct = '%3.1f%%', startangle = 180, shadow = True, colors = ['c', 'r', 'gray', 'g', 'y']) # 标题 plt.title('2017年笔记本电脑市场份额') plt.show()

## 二、内嵌环形饼图

import matplotlib as mpl import matplotlib.pyplot as plt # 设置图片大小 plt.figure(figsize = (10, 8)) # 生成数据 labels = ['A', 'B', 'C', 'D', '其他'] share_laptop = [0.45, 0.25, 0.15, 0.05, 0.10] share_pc = [0.35, 0.35, 0.08, 0.07, 0.15] colors = ['c', 'r', 'y', 'g', 'gray'] # 外环 wedges1, texts1, autotexts1 = plt.pie(share_laptop, autopct = '%3.1f%%', radius = 1, pctdistance = 0.85, colors = colors, startangle = 180, textprops = {'color': 'w'}, wedgeprops = {'width': 0.3, 'edgecolor': 'w'} ) # 内环 wedges2, texts2, autotexts2 = plt.pie(share_pc, autopct = '%3.1f%%', radius = 0.7, pctdistance = 0.75, colors = colors, startangle = 180, textprops = {'color': 'w'}, wedgeprops = {'width': 0.3, 'edgecolor': 'w'} ) # 图例 plt.legend(wedges1, labels, fontsize = 12, title = '公司列表', loc = 'center right', bbox_to_anchor = (1, 0.6)) # 设置文本样式 plt.setp(autotexts1, size=15, weight='bold') plt.setp(autotexts2, size=15, weight='bold') plt.setp(texts1, size=15) # 标题 plt.title('2017年笔记本及PC电脑市场份额', fontsize=20) plt.show()

wedge：是指饼片，也就是每一个扇形texts：分类标签的文本列表autotexts：这部分是百分比部分的文本列表