📅  最后修改于: 2023-12-03 14:44:12.272000             🧑  作者: Mango
Matplotlib是Python中最流行的绘图库之一。其图例功能允许将不同种类的数据在同一图形上标识出来,方便观察者理解不同数据之间的关系。本文将介绍Matplotlib图例的用法,包括添加图例、设置图例位置和样式等。
Matplotlib中添加图例的方法较为简单,可以使用plt.legend()函数来实现。该函数的参数可以指定图例的位置、样式、标签等。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend()
plt.show()
上述代码中,我们首先生成了两条曲线,然后在plt.plot()函数中指定了标签,最后调用plt.legend()函数即可添加图例。如果不指定位置参数,图例默认会出现在右上角。
除了默认位置外,Matplotlib还提供了多种图例位置供选择。可以将loc
参数传递给plt.legend()函数来指定位置。下面是一些常用的值:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(loc='lower left')
plt.show()
上述代码中,我们指定了图例出现在左下角。
Matplotlib还允许设置图例的样式,包括边框线条、边框方式、阴影等。可以在plt.legend()函数中传递一些关键字参数来实现。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(loc='lower left', frameon=True, shadow=True)
plt.show()
上述代码中,我们设置了图例框的边框线条和阴影。
Matplotlib还允许自定义图例,包括图例标签、文字样式等。可以先获取图例对象,然后使用set_text()、set_color()等方法进行修改。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
line1, = plt.plot(x, y1, label='sin(x)')
line2, = plt.plot(x, y2, label='cos(x)')
legend = plt.legend(handles=[line1, line2], loc='lower left')
legend.get_texts()[0].set_text('Sine Curve')
legend.get_texts()[0].set_color('red')
legend.get_texts()[1].set_text('Cosine Curve')
legend.get_texts()[1].set_color('blue')
plt.show()
上述代码中,我们先获取了图例对象,然后使用get_texts()方法获取标签文本的对象,并对其进行修改。
Matplotlib图例功能可以帮助我们更好地展示数据并传达信息。在使用时,可以通过设置位置、样式、标签等进行定制化。同时,Matplotlib还提供了自定义图例的功能,方便用户完全掌控图例的外观和内容。