python饼图
时间: 2025-08-29 19:53:37 AIGC 浏览: 4
### 如何使用 Python 和 Matplotlib 绘制饼图
在 Python 中,可以利用 Matplotlib 库来绘制饼图。以下是详细的说明以及代码示例。
#### 基础饼图绘制
通过调用 `plt.pie()` 方法即可实现基础饼图的绘制。该方法接受多个参数,其中最重要的两个是数据列表和标签列表。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 数据准备
labels = ['Asia', 'Africa', 'Europe', 'North America', 'South America', 'Australia']
sizes = [59.69, 16, 9.94, 7.79, 5.68, 0.54]
# 创建图表对象
fig, ax = plt.subplots()
# 使用 pie 函数绘图
ax.pie(sizes, labels=labels, autopct='%1.2f%%', startangle=90)
# 设置图形属性
ax.axis('equal') # 确保饼图为圆形而非椭圆
plt.title("Population Distribution by Continent")
# 显示图像
plt.show()
```
此代码展示了如何基于人口分布比例创建一个基本的饼图[^3]。
#### 高级功能:嵌套环形饼图
对于更复杂的场景,比如需要展示多层次的数据结构时,则可考虑构建嵌套环形饼图。这通常涉及多次调用 `ax.pie()` 并调整内外半径参数以形成层次感。具体做法如下所示:
```python
import numpy as np
import matplotlib.pyplot as plt
size = 0.3
vals_outer = [[60., 32.], [37., 40.], [29., 10.]]
vals_inner = vals_outer.flatten()
tab20c = plt.colormaps['tab20c'] # 获取颜色映射表
outer_colors = tab20c.colors[::4][:len(vals_outer)]
inner_colors = sum([[tab20c.colors[j*4+i+1] for j in range(len(vals_outer))] for i in range(2)], [])
fig, ax = plt.subplots(figsize=(8, 6))
ax.pie(np.sum(vals_outer, axis=1), radius=1, colors=outer_colors,
wedgeprops=dict(width=size, edgecolor='w'))
ax.pie(vals_inner, radius=1-size, colors=inner_colors,
wedgeprops=dict(width=size, edgecolor='w'))
ax.set(aspect="equal", title='Nested Pie Chart Example')
plt.show()
```
这段脚本实现了双层嵌套效果,并且每一块都有独特的配色方案[^1]。
#### 自定义样式
除了标准配置之外,还可以进一步自定义字体大小、粗细以及其他视觉元素。例如,在前一节中的第二个实例里就设置了文字的颜色为白色并增加了边框宽度等细节处理[^2]。
---
###
阅读全文
相关推荐



















