首页 > 解决方案 > 在 Matplotlib 中自定义图例

问题描述

我正在尝试自定义单个图例标签。在下面的示例中,图例包含两个项目。我只想将第二个图例标签的文本设为粗体。

下面是代码的大致轮廓:

leg = plt.legend()
for text in leg.get_texts():
    text.set_fontweight...

这是一个可运行的示例:

import matplotlib.pyplot as plt
X=range(10)
Y=range(100,110)
Z=range(105,115)
plt.plot(X,Y,label='normal')
plt.plot(X,Z,label='bold')
fontweights=['normal','bold']
leg=plt.legend()
for fw,text in zip(fontweights,leg.get_texts()):
    text.set_fontweight(fw)
plt.show()

这是输出: 在此处输入图像描述

生成的图显示将set_fontweight()两个标签都更改为粗体。那么这是一个错误set_fontweight(),还是我做错了什么?

类似的功能,如text.set_color(),可用于单独修改图例标签。

最后,我使用的是 matplotlib 3.2.2 版。

谢谢!

标签: pythonmatplotliblegend

解决方案


我正在运行 matplotlib 3.3.4,并获得了一个粗体和非粗体的图例条目 - 见附图 - 所以我认为升级应该可以解决问题。

在此处输入图像描述


推荐阅读