Etichette incorporate in Matplotlib

In Matplotlib, non è troppo difficile creare una legenda ( example_legend() , sotto), ma penso che sia meglio mettere le etichette direttamente sulle curve che vengono tracciate (come in example_inline() , sotto). Questo può essere molto laborioso, perché devo specificare le coordinate a mano e, se riformattassi la trama, probabilmente dovrei riposizionare le etichette. C’è un modo per generare automaticamente etichette sulle curve in Matplotlib? Punti bonus per essere in grado di orientare il testo ad un angolo corrispondente all’angolo della curva.

 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() 

Figura con legenda

 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') 

Figura con etichette in linea