改变matplotlib图例中各个标签的字体大小

2 人关注

我想改变图例中个别元素的字体大小。我知道如何改变整个图例的字体属性,但我不知道有什么方法可以单独改变它们。

比如说。在下面的例子中,我正在绘制两条线,我希望第一行的标签比第二行的字体大一些

import numpy as np
from matplotlib import pyplot as plt
def line (m , c):
    return m*x + c
x = np.arange(0, 10, .25)
plt.plot(x, line(1, 0), label = "Line 1")
plt.plot(x, line(1,1), label = "Line 2")
plt.legend(prop={'family': 'Georgia', 'size': 15})
plt.show()

使用【替换代码1我可以同时修改两个标签的字体大小,但是否有办法控制图例中单个标签的字体属性?

感谢任何和所有的帮助,谢谢。

python
matplotlib
legend
font-size
Prerak
Prerak
发布于 2021-04-26
1 个回答
r-beginners
r-beginners
发布于 2021-04-26
已采纳
0 人赞同

这里有一些 伟大的答案 一个是设置字体属性,另一个是使用Latexh符号进行标签设置。我将回答用字体属性进行定制的方法。

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
def line (m , c):
    return m*x + c
x = np.arange(0, 10, .25)
plt.plot(x, line(1, 0), label = "Line 1")
plt.plot(x, line(1,1), label = "Line 2")
leg = plt.legend(prop={'family': 'Georgia', 'size': 15})
label1, label2 = leg.get_texts()
label1._fontproperties = label2._fontproperties.copy()