📜  matplotlib 图例 - Python (1)

📅  最后修改于: 2023-12-03 14:44:12.272000             🧑  作者: Mango

Matplotlib图例

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()函数来指定位置。下面是一些常用的值:

  • 'best':自动选择位置
  • 'upper right':右上角
  • 'upper left':左上角
  • 'lower right':右下角
  • 'lower left':左下角
  • 'right':右侧中心
  • 'center left':左侧中心
  • 'center':中心
  • 'center right':右侧中心
  • 'upper center':顶部中心
  • 'lower center':底部中心
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还提供了自定义图例的功能,方便用户完全掌控图例的外观和内容。