python空心饼图
时间: 2023-10-19 14:33:06 浏览: 163
要绘制一个空心饼图,你可以使用 Python 中的 matplotlib 库。下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
# 数据
sizes = [15, 30, 45, 10]
labels = ['A', 'B', 'C', 'D']
colors = ['red', 'blue', 'green', 'yellow']
inner_radius = 0.4
# 绘图
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, colors=colors, startangle=90, wedgeprops=dict(width=0.4))
ax.axis('equal') # 使饼图为正圆形
# 添加中间的空白圆
circle = plt.Circle((0, 0), inner_radius, color='white')
ax.add_artist(circle)
# 显示图形
plt.show()
```
你可以根据实际需求修改 `sizes`、`labels`、`colors` 和 `inner_radius` 变量来自定义空心饼图的属性。这段代码将绘制一个有四个扇形块的空心饼图,内部有一个白色的空白圆。
相关问题
python 绘制饼图
在Python中,绘制饼图通常使用matplotlib库,它是数据可视化的重要工具之一。饼图常用于展示各个部分占整体的比例。下面是一个简单的例子,展示如何使用matplotlib的`pie()`函数创建饼图:
```python
import matplotlib.pyplot as plt
# 数据,这里我们用一些示例数据
labels = ['部分A', '部分B', '部分C', '部分D', '部分E']
sizes = [30, 40, 20, 10, 5] # 各部分所占百分比
# 创建饼图
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140, pctdistance=0.85) # 自动显示百分比
# 显示图形
plt.title('部分比例')
plt.show()
```
在这个例子中:
- `labels`是一个列表,包含了饼图的标签名称。
- `sizes`是一个列表,包含了每个部分所占的百分比(数值越小,表示部分越大)。
- `autopct`参数用于在饼图上显示百分比。
- `startangle`和`pctdistance`是饼图的样式设置,你可以根据需求调整。
如果你有具体的数据想要绘制饼图,只需将上述代码中的`labels`和`sizes`替换为实际的数据即可。
python多重饼图
Python中可以使用多种方式来绘制多重饼图,以下是其中两种常用的方法:
1. 使用Matplotlib库绘制多重饼图:
首先,需要导入Matplotlib库,并创建一个Figure对象和一个Axes对象。然后,使用Axes对象的`pie()`方法来绘制饼图。可以通过传递多个数据列表来实现多重饼图的绘制,每个数据列表对应一个饼图的一部分。最后,使用`legend()`方法添加图例,并使用`show()`方法显示图形。
示例代码如下:
```python
import matplotlib.pyplot as plt
# 数据
sizes1 = [30, 40, 20, 10]
sizes2 = [15, 25, 35, 25]
# 创建Figure和Axes对象
fig, ax = plt.subplots()
# 绘制饼图
ax.pie(sizes1, labels=['A', 'B', 'C', 'D'], autopct='%1.1f%%')
ax.pie(sizes2, radius=0.7, labels=['E', 'F', 'G', 'H'], autopct='%1.1f%%')
# 添加图例
ax.legend(['Group 1', 'Group 2'])
# 显示图形
plt.show()
```
2. 使用Plotly库绘制多重饼图:
Plotly是一个交互式可视化库,可以创建漂亮的多重饼图。首先,需要导入Plotly库,并创建一个`Pie`对象。然后,使用`Pie`对象的`add_trace()`方法来添加多个饼图的数据。最后,使用`show()`方法显示图形。
示例代码如下:
```python
import plotly.graph_objects as go
# 数据
sizes1 = [30, 40, 20, 10]
sizes2 = [15, 25, 35, 25]
# 创建Pie对象
fig = go.Figure()
# 添加饼图数据
fig.add_trace(go.Pie(labels=['A', 'B', 'C', 'D'], values=sizes1, name='Group 1'))
fig.add_trace(go.Pie(labels=['E', 'F', 'G', 'H'], values=sizes2, name='Group 2'))
# 显示图形
fig.show()
```
阅读全文