📅  最后修改于: 2023-12-03 15:26:21.784000             🧑  作者: Mango
在使用 Matplotlib 绘图时,默认情况下会自动生成图例。图例通常包括线条、标记和颜色,帮助我们更好地理解数据。但是,在一些特殊情况下,我们可能需要更改图例中的文本,来满足一些定制化需求。
我们可以使用 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()
输出结果如下图所示:
如果我们有多个图例,需要分别更改它们的文本,可以使用 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()
输出结果如下图所示:
除了更改图例文本外,我们还可以更改图例的位置和样式。以下是一些常用的方法:
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 中的文本的介绍。通过上述方法,我们可以快速实现自定义图例的需求。