更改 matplotlib 图例中各个标签的字体大小
Posted
技术标签:
【中文标题】更改 matplotlib 图例中各个标签的字体大小【英文标题】:Change fontsize of indivual labels in the matplotlib legend 【发布时间】:2021-07-19 10:17:22 【问题描述】:我想更改图例中各个元素的字体大小。我知道如何更改整个图例的字体属性,但我无法找到单独更改它们的方法。
例如:在下面的示例中,我正在绘制两条线,并且我希望 line1 的标签具有比第 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()
使用prop='family': 'Georgia', 'size': 15
我可以同时修改两个标签的字体大小,但是有没有办法控制图例中各个标签的字体属性?
感谢任何和所有的帮助。
【问题讨论】:
【参考方案1】:这里有一些great answers:一个是设置字体属性,另一个是使用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()
label1.set_size('medium')
plt.show()
【讨论】:
以上是关于更改 matplotlib 图例中各个标签的字体大小的主要内容,如果未能解决你的问题,请参考以下文章