最佳答案
在 Matplotlib,创造一个传奇并不太困难(下图为 example_legend()
) ,但我认为在正在绘制的曲线上贴上标签会更好(下图为 example_inline()
)。这可能非常繁琐,因为我必须手动指定坐标,并且,如果我重新格式化绘图,我可能必须重新定位标签。在 Matplotlib,有没有一种方法可以自动生成曲线上的标签?额外加分是因为能够以与曲线角度相对应的角度来定位文本。
import numpy as np
import matplotlib.pyplot as plt
def example_legend():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.legend()
def example_inline():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.text(0.08, 0.2, 'sin')
plt.text(0.9, 0.2, 'cos')