In Matplotlib ist es nicht allzu schwierig, eine Legende zu erstellen (
, unten), aber ich denke, es ist besser, Beschriftungen direkt auf den Kurven zu platzieren, die geplottet werden (wie in example_inline(), unten). Dies kann sehr umständlich sein, da ich die Koordinaten manuell angeben muss und wenn ich den Plot neu formatiere, muss ich wahrscheinlich die Beschriftungen neu positionieren. Gibt es eine Möglichkeit, in Matplotlib automatisch Beschriftungen für Kurven zu generieren? Bonuspunkte für die Möglichkeit, den Text in einem Winkel auszurichten, der dem Winkel der Kurve entspricht.
Code: Select all
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()
Code: Select all
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')
