📜  更改图例 matplotlib 中的文本 - Python (1)

📅  最后修改于: 2023-12-03 15:26:21.784000             🧑  作者: Mango

更改图例 matplotlib 中的文本

在使用 Matplotlib 绘图时,默认情况下会自动生成图例。图例通常包括线条、标记和颜色,帮助我们更好地理解数据。但是,在一些特殊情况下,我们可能需要更改图例中的文本,来满足一些定制化需求。

1. 更改单个图例文本

我们可以使用 set_label 方法来更改单个图例文本。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, label='line 1')

# 获取第一个图例
legend = plt.legend()
# 修改图例文本
legend.get_texts()[0].set_text('new label')

plt.show()

输出结果如下图所示:

图例中的文本更改示例

2. 更改多个图例文本

如果我们有多个图例,需要分别更改它们的文本,可以使用 set_text 方法。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

# 绘制两条曲线并设置图例
plt.plot(x, y1, label='line 1')
plt.plot(x, y2, label='line 2')
plt.legend()

# 获取所有图例并分别修改文本
for text in plt.gca().get_legend().get_texts():
    if text.get_text() == 'line 1':
        text.set_text('new label 1')
    elif text.get_text() == 'line 2':
        text.set_text('new label 2')

plt.show()

输出结果如下图所示:

多个图例文本更改示例

3. 更改图例位置和样式

除了更改图例文本外,我们还可以更改图例的位置和样式。以下是一些常用的方法:

  • loc:更改图例位置,接受字符串或数字,如 'upper left'2
  • ncol:设置图例列数,接受整数。
  • fontsize:设置图例字体大小,接受整数或字符串,如 'medium'
  • frameon:设置图例框架是否可见,接受布尔值。
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, label='line 1')

# 设置图例位置、列数、字体大小和框架是否可见
plt.legend(loc='upper right', ncol=2, fontsize='medium', frameon=True)

plt.show()

输出结果如下图所示:

图例位置和样式更改示例

以上就是更改图例 matplotlib 中的文本的介绍。通过上述方法,我们可以快速实现自定义图例的需求。