📜  使用 Matplotlib 自定义图例(1)

📅  最后修改于: 2023-12-03 15:36:32.049000             🧑  作者: Mango

使用 Matplotlib 自定义图例

Matplotlib是一个可视化工具库,在绘制图像时常常需要使用图例来解释数据的含义。Matplotlib提供了丰富的图例样式,并且还支持自定义图例。本文将介绍如何使用Matplotlib自定义图例。

基本图例

Matplotlib中的基本图例非常容易使用。只需要在plot()函数中指定label参数即可。例如:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y, label='line')

plt.legend()
plt.show()

上面的代码中,label='line'代表线的标签为'line'。plt.legend()函数用来显示图例,plt.show()函数用来显示图像。

自定义图例

使用Matplotlib自定义图例可以更灵活地控制图例的显示,例如调整大小、添加边框、改变字体等。下面我们介绍几个常用的自定义图例示例。

调整图例大小
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y, label='line')

legend = plt.legend(fontsize=20)
legend.get_frame().set_linewidth(1.5)

plt.show()

上面的代码中,通过fontsize参数可以调整图例的字体大小,通过legend.get_frame().set_linewidth(1.5)可以设置图例的边框线宽度。

改变图例位置
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y, label='line')

plt.legend(loc='upper left')
plt.show()

上面的代码中,通过loc参数可以改变图例位置。例如loc='upper left'代表将图例放在左上角。

添加多个图例
import matplotlib.pyplot as plt

x1 = [1, 2, 3, 4]
y1 = [2, 4, 6, 8]

x2 = [1, 2, 3, 4]
y2 = [1, 3, 5, 7]

plt.plot(x1, y1, label='line1')
plt.plot(x2, y2, label='line2')

plt.legend(loc='upper left')

legend1 = plt.legend(handles=[line1], labels=['line1'], loc='lower right')
legend2 = plt.legend(handles=[line2], labels=['line2'], loc='upper right')
plt.gca().add_artist(legend1)

plt.show()

上面的代码中,通过handleslabels参数可以添加多个不同的图例。例如handles=[line1]代表添加名为line1的一个线条对象,labels=['line1']代表这个图例的标签为line1

修改图例文本格式
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [2, 4, 6, 8]

plt.plot(x, y, label='line')

plt.legend(title='The Title', title_fontsize=20, labelspacing=2, fontsize=16)
plt.show()

上面的代码中,通过title参数可以为图例添加一个标题,通过title_fontsize参数可以设置标题的字体大小,通过labelspacing参数可以设置图例条目之间的垂直距离,通过fontsize参数可以设置图例的字体大小。

总结

本文介绍了使用Matplotlib自定义图例的方法,包括调整图例大小、改变图例位置、添加多个图例和修改图例文本格式。Matplotlib提供了很多自定义图例的工具,可以使得我们更加灵活地控制图例的显示。