python绘制饼状图添加图例
时间: 2023-10-20 21:19:04 浏览: 119
下面是一个使用Matplotlib库绘制饼状图并添加图例的示例代码:
```python
import matplotlib.pyplot as plt
# 饼状图数据
labels = ['A', 'B', 'C', 'D']
sizes = [20, 30, 40, 10]
# 绘制饼状图
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%')
# 添加图例
ax.legend(loc='upper right', bbox_to_anchor=(1.2, 1))
# 显示图形
plt.show()
```
在这个示例中,我们使用`labels`和`sizes`定义了饼状图的数据。然后,我们使用`plt.subplots()`创建一个图形对象和一个轴对象。接着,我们使用`ax.pie()`绘制饼状图,并使用`autopct`参数指定饼状图上每个部分的百分比。最后,我们使用`ax.legend()`添加图例,并使用`loc`参数指定图例的位置,使用`bbox_to_anchor`参数调整图例的偏移量。
运行上面的代码,将会显示一个带有图例的饼状图。
相关问题
python饼状图设置多个图例
在Python中,可以使用matplotlib库来设置一个饼状图中多个图例。下面是一个简单的示例代码:
```
import matplotlib.pyplot as plt
# 数据
labels = ['A', 'B', 'C', 'D']
sizes = [30, 20, 25, 25]
colors = ['red', 'green', 'blue', 'yellow']
# 创建一个图形对象
fig, ax = plt.subplots()
# 绘制饼状图
ax.pie(sizes, labels=labels, colors=colors, startangle=90, counterclock=False)
# 创建第一个图例
legend1 = ax.legend(labels, loc='upper left')
# 创建第二个图例
handles = [plt.Rectangle((0,0),1,1, color=color) for color in colors]
legend2 = ax.legend(handles, labels, loc='upper right')
# 添加第一个图例到图形中
ax.add_artist(legend1)
# 显示图形
plt.show()
```
在这个示例中,我们首先定义了饼状图的标签、大小和颜色。然后,我们创建了一个图形对象,并使用`ax.pie()`函数绘制了饼状图。接下来,我们使用`ax.legend()`函数创建了第一个图例,并将其放置在图形的左上角。然后,我们使用列表推导式创建了一个颜色的图例,并使用`ax.legend()`函数创建了第二个图例,并将其放置在图形的右上角。最后,我们使用`ax.add_artist()`函数将第一个图例添加回到图形中。这样,我们就可以在一个饼状图中设置多个图例了。
python seaborn绘制饼状图
Seaborn是一个基于matplotlib的数据可视化库,它为Python提供了高级接口来创建复杂的统计图形。要使用Seaborn绘制饼状图(也叫环形图或百分比条形图),你可以使用`catplot()`函数中的`kind='pie'`选项。这里是一个简单的例子:
```python
import seaborn as sns
import pandas as pd
# 假设你有一个包含分类数据和对应频率的DataFrame
data = pd.DataFrame({
'Category': ['A', 'B', 'C', 'D'],
'Frequency': [30, 40, 20, 10]
})
# 创建饼状图
sns.catplot(x='Category', y='Frequency', data=data, kind='pie', autopct='%1.1f%%')
plt.title('Category Distribution')
plt.show()
```
在这个代码中:
- `data`是包含分类变量和相应频率的DataFrame。
- `x='Category'`表示使用'Category'列作为行标签。
- `y='Frequency'`指定显示的数据值,这里是每个类别的频率。
- `autopct='%1.1f%%'`会让百分比显示在每个扇区上。
- `plt.title()`, `plt.show()`用于添加标题并显示图表。
如果你想深入了解如何自定义颜色、标签、图例等其他参数,可以查阅Seaborn的官方文档或在线教程。
阅读全文