legend 函数添加一个图例并在图例出给出占比代码
时间: 2024-05-06 10:18:59 浏览: 10
在 Matplotlib 中,我们可以使用 `legend` 函数来添加图例。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 生成数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
# 绘制饼图
fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, autopct='%1.1f%%')
ax1.axis('equal')
# 添加图例
plt.legend(title='Legend', loc='upper right', labels=labels)
# 显示图形
plt.show()
```
在上述例子中,我们首先生成数据,然后使用 `pie` 函数绘制饼图,并利用 `autopct` 参数来显示每个扇形占比。接着,我们使用 `legend` 函数来添加图例,其中 `title` 参数用于设置图例标题,`loc` 参数用于设置图例位置,`labels` 参数用于设置图例标签。
注意,在 `labels` 参数中,我们需要将标签的顺序与数据的顺序保持一致,这样才能正确地将标签与数据对应起来。
最后,我们使用 `show` 函数显示图形。
相关问题
python中的legend函数,怎么让图例呈现在x轴刻度下方,并横向排放,增大图例大小
要让Python中的图例(legend)呈现在x轴刻度下方,并横向排放,并增大图例大小,可以使用 `legend` 函数的 `bbox_to_anchor` 参数和 `loc` 参数来控制图例的位置,并使用 `ncol` 参数来控制图例的列数,同时使用 `fontsize` 参数来设置图例的字体大小。具体来说,可以按照以下步骤实现:
1. 在调用 `legend` 函数时,将 `bbox_to_anchor` 参数设置为一个二元组 `(x, y)`,其中 `x` 和 `y` 分别表示图例左下角的横坐标和纵坐标,这将使得图例位于指定的位置。
2. 在调用 `legend` 函数时,将 `loc` 参数设置为 `'lower left'`,这将使得图例左对齐,并呈现在x轴刻度下方。
3. 在调用 `legend` 函数时,将 `ncol` 参数设置为一个大于1的整数,这将使得图例的标签横向排放,并且每行有多个标签。
4. 在调用 `legend` 函数时,将 `fontsize` 参数设置为一个合适的数值,以增大图例的字体大小。
下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些样本数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 创建一个画布和一个子图
fig, ax = plt.subplots()
# 绘制三条曲线
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')
ax.plot(x, y3, label='tan(x)')
# 添加图例,并设置位置、列数和字体大小
ax.legend(loc='lower left', bbox_to_anchor=(0, -0.2), ncol=3, fontsize=12)
# 显示图形
plt.show()
```
在这个示例代码中,我们使用 `legend` 函数来添加图例,并将 `bbox_to_anchor` 参数设置为 `(0, -0.2)`,将 `loc` 参数设置为 `'lower left'`,将 `ncol` 参数设置为 `3`,将 `fontsize` 参数设置为 `12`,这使得图例位于x轴刻度下方、左对齐,并且每行有三个标签,同时图例的字体大小也被增大了。你可以根据自己的需求修改 `bbox_to_anchor`、`ncol` 和 `fontsize` 参数的值。
使用legend命令时,使图例中出现一个红色的圆
要在图例中添加一个红色的圆,需要在legend命令中使用一个额外的参数。具体做法是在legend命令中使用 "MarkerFaceColor" 参数来设置标记的填充颜色,使用 "MarkerEdgeColor" 参数来设置标记的边缘颜色。以下是一个示例代码片段:
```
import matplotlib.pyplot as plt
# 创建一个简单的图形
x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]
plt.plot(x, y, label="线条")
# 添加图例并设置红色圆形标记
plt.legend(handles=[plt.Line2D([], [], marker='o', markersize=10,
markerfacecolor='r', markeredgecolor='r')],
labels=['圆形'])
# 显示图形
plt.show()
```
在这个例子中,我们创建了一个简单的图形,并使用 "plt.plot" 命令创建了一个线条。然后,我们使用 "plt.legend" 命令添加一个图例,并使用 "plt.Line2D" 函数创建一个红色圆形标记。注意,我们在 "markerfacecolor" 和 "markeredgecolor" 参数中都使用了 "r" 来指定红色填充和红色边缘。
运行这段代码将显示一个带有红色圆形标记的图例。