如何在 Matplotlib 中更改图例字体大小?
Matplotlib 是一个用于在Python中创建交互式可视化的库。 matplotlib 中的函数使它像 MATLAB 软件一样工作。 matplotlib 中的 legend() 方法描述了图中的元素。在本文中,我们将在 Matplotlib 中更改图例字体大小。
句法:
matplotlib.pyplot.legend(*args, **kwargs)
它可以通过不同的方式完成:
- 使用字体大小作为参数。
- 使用 prop 关键字更改图例中的字体大小。
- 使用 rcParams 方法。
方法一:
示例 1 和示例 2 清楚地区分了默认字体大小和图例中更改的字体大小之间的更改。
示例 1:图例中文本的默认字体大小
Python3
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize = (8, 4))
x = ['Arjun', 'Bharath', 'Raju', 'Seeta', 'Ram']
y = [5, 7, 8, 4, 6]
plt.bar(x, y, color = 'g')
plt.xlabel('Students', fontsize = 18)
plt.ylabel('Marks', fontsize = 18)
#Default fontsize of text using legend
plt.legend(['Marks scored'])
plt.show()
Python3
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize = (8, 4))
x = ['Arjun', 'Bharath', 'Raju', 'Seeta', 'Ram']
y = [5, 7, 8, 4, 6]
plt.bar(x, y, color = 'g')
plt.xlabel('Students', fontsize = 18)
plt.ylabel('Marks', fontsize = 18)
#Changing text fontsize in legend
plt.legend(['Marks scored'], fontsize = 17)
plt.show()
Python3
import matplotlib.pyplot as plt
plt.figure(figsize = (8 , 5))
plt.plot([1, 2, 4, 8, 30, 1])
plt.plot([1, 6, 13, 20, 38, 1])
plt.plot([1, 4, 8, 14, 20, 1])
plt.plot([1, 3, 4, 5, 10, 1])
#Using prop keyword in legend to change font size
plt.legend(['blue', 'orange', 'green', 'red'],
prop = {'size' : 20},
loc = 'upper left', shadow = True,
facecolor = 'yellow')
plt.show()
Python3
import matplotlib.pyplot as plt
import numpy as np
from pylab import *
x = np.linspace(0, (2*np.pi), endpoint = True)
xlim(x.min(), x.max())
xticks([0, np.pi/2, np.pi, (3*np.pi/2), (2*np.pi)],
[r'$0$', r'$+\pi/2$', r'$+\pi$', r'$3/2\pi$', r'$2\pi$'])
ylim(-1, 0, 1)
yticks([-1, 0, +1],
[r'$-1$', r'$0$', r'$+1$'])
plt.plot(x, np.sin(x), label = "sin(x)")
plt.plot(x, np.cos(x), label = "cos(x)")
plt.title('Trignometric Functions', fontsize = 22)
plt.xlabel('Angles', fontsize = 18)
plt.ylabel('Values', fontsize = 18)
plt.legend(loc = 'upper center')
plt.rc('legend', fontsize = 16)
#plt.grid()
plt.tight_layout()
plt.show()
输出:
示例 2:更改图例中文本的字体大小
蟒蛇3
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize = (8, 4))
x = ['Arjun', 'Bharath', 'Raju', 'Seeta', 'Ram']
y = [5, 7, 8, 4, 6]
plt.bar(x, y, color = 'g')
plt.xlabel('Students', fontsize = 18)
plt.ylabel('Marks', fontsize = 18)
#Changing text fontsize in legend
plt.legend(['Marks scored'], fontsize = 17)
plt.show()
输出:
上面的示例更改了图例中项目的字体大小。字体大小参数可以具有整数或浮点值。它还接受字符串大小,如:“xx-small”、“x-small”、“small”、“medium”、“large”、“x-large”、“xx-large”。
方法二: prop关键字用于改变字体大小属性。它在 matplotlib 中用作:
matplotlib.pyplot.legend(*args… , prop = {‘size’ : 20})
示例 3:使用 prop 关键字更改图例中的字体大小。
蟒蛇3
import matplotlib.pyplot as plt
plt.figure(figsize = (8 , 5))
plt.plot([1, 2, 4, 8, 30, 1])
plt.plot([1, 6, 13, 20, 38, 1])
plt.plot([1, 4, 8, 14, 20, 1])
plt.plot([1, 3, 4, 5, 10, 1])
#Using prop keyword in legend to change font size
plt.legend(['blue', 'orange', 'green', 'red'],
prop = {'size' : 20},
loc = 'upper left', shadow = True,
facecolor = 'yellow')
plt.show()
输出:
方法三:
matplotlib.rcparams 是一个类似字典的变量,它具有自定义默认参数的所有配置设置。 matplotlib.rc() 命令用于使用关键字参数更改多个设置。
句法:
matplotlib.pyplot.rc(group, **kwargs)
例如,
matplotlib.pyplot.rc ('lines', linewidth = 5, color = 'g')
示例 4:
蟒蛇3
import matplotlib.pyplot as plt
import numpy as np
from pylab import *
x = np.linspace(0, (2*np.pi), endpoint = True)
xlim(x.min(), x.max())
xticks([0, np.pi/2, np.pi, (3*np.pi/2), (2*np.pi)],
[r'$0$', r'$+\pi/2$', r'$+\pi$', r'$3/2\pi$', r'$2\pi$'])
ylim(-1, 0, 1)
yticks([-1, 0, +1],
[r'$-1$', r'$0$', r'$+1$'])
plt.plot(x, np.sin(x), label = "sin(x)")
plt.plot(x, np.cos(x), label = "cos(x)")
plt.title('Trignometric Functions', fontsize = 22)
plt.xlabel('Angles', fontsize = 18)
plt.ylabel('Values', fontsize = 18)
plt.legend(loc = 'upper center')
plt.rc('legend', fontsize = 16)
#plt.grid()
plt.tight_layout()
plt.show()
输出: