对matplotlib legend中的标签使用不同的字体属性

2024-04-24 11:14:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在matplotlib图形的同一个图例中使用2种不同的字体大小。在

例如,我想对同一个图例框中的某些标签使用15点粗体字体,对其他标签使用10点普通字体。在

我的绘图图例已经从2个轴(Single legend for multiple axes)重新组合图例,并绘制了可变数量的数据。在

我已经使用空白数据策略向图例图(Is it possible to add a string as a legend item in matplotlib)添加注释。但如果可能的话,我想用一个更大尺寸的螺栓。在

谢谢你!在


Tags: 数据图形绘图for数量matplotlib绘制字体
1条回答
网友
1楼 · 发布于 2024-04-24 11:14:52

您可以对legend()中包含的^{}对象使用以下模式:

leg = plt.legend()

for i, text in enumerate(leg.get_texts()):

    # pretend the element to be changed is in index position 3
    if i == 3: 
        text.set_weight("bold")
        text.set_size("x-large")

        # or equivalently with one call to setp()
        plt.setp(text, weight="bold", size="x-large")

编辑: 看起来在一个图例中更改一个文本对象的内容实际上适用于所有对象。一种可行的解决方法是使用mathtext,就像这样text.set_text(r'$\mathbf{label}$')。在循环中,我们需要检索标签并处理mathtext“压缩”空格。下面是一个例子:

^{pr2}$

我不知道您是否接受使用mathtext或latex,但它似乎允许单个图例文本标签的唯一格式。在

相关问题 更多 >