import matplotlib.pyplot as plt
# 准备数据
labels = ['A', 'B', 'C', 'D']
sizes = [30, 45, 15, 10]
# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%.1f%%')
# 显示图形
plt.show()
运行结果
解释
1. `import matplotlib.pyplot as plt`:这一行导入了 `matplotlib.pyplot` 模块,通常简称为 `plt`。这个模块提供了常用的绘图功能,包括绘制饼图。
2. `labels = ['A', 'B', 'C', 'D']`:这个列表用于指定每个扇形的标签,也就是每个扇形所代表的内容或类别。在这个例子中,我们有四个标签:'A'、'B'、'C' 和 'D'。
3. `sizes = [30, 45, 15, 10]`:这个列表用于指定每个扇形的大小,也就是每个类别在整体中所占的比例。在这个例子中,我们有四个大小:30、45、15 和 10。
4. `plt.pie(sizes, labels=labels, autopct='%1.1f%%')`:这一行代码绘制了一个饼图。`sizes` 参数用于指定每个扇形的大小,`labels` 参数用于指定每个扇形的标签,而 `autopct='%1.1f%%'` 参数则用于格式化显示每个扇形的百分比。
5. `plt.show()`:最后一行代码调用 `plt.show()` 来显示绘制的饼图。这会将绘制的图形弹出一个窗口来显示。
细节部分autopct='%.1f%%
`autopct` 是一个参数,用于指定如何自动计算并显示每个扇形的百分比标签。`autopct` 参数可以接收一个字符串或函数,用于格式化标签的显示方式。
当你设置 `autopct='%.1f%%'` 时,你正在指定一个格式字符串,它告诉饼图如何显示每个扇形的百分比。
- `%.1f`:这是一个格式说明符,用于浮点数。
- `%`:表示开始一个格式说明符。
- `.1`:表示小数点后要显示一位数字。
- `f`:表示浮点数。
- `%%`:在格式字符串中,`%` 是一个特殊字符,用于引入格式说明符。由于我们想在标签中实际显示 `%` 符号,我们需要使用 `%%` 来表示一个实际的 `%` 字符。
因此,`autopct='%.1f%%'` 的意思是:对于每个扇形,计算其百分比,并将其格式化为小数点后保留一位数字的浮点数,然后在其后添加一个 `%` 符号来显示完整的百分比。
例如,如果某个扇形的百分比是 `25.5`,那么使用 `autopct='%.1f%%'` 格式化后,该扇形的标签将显示为 `25.5%`。
这种格式化方式在需要显示较为精确的百分比,但又不想显示过多的小数位时非常有用。你可以根据需要调整 `.1` 中的数字来改变小数点后显示的位数。例如,`autopct='%.2f%%'` 将显示两位小数,如 `25.50%`。