Sto provando a tracciare un rettangolo sulla legenda in matplotlib.Come si disegna un rettangolo sulla legenda in matplotlib?
Per illustrare quanto lontano ho ottenuto mostro il mio miglior tentativo, che non funziona:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
import numpy as np
Fig = plt.figure()
ax = plt.subplot(111)
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
ax.plot(t, s1, 'b-', label = 'dots')
leg = ax.legend()
rectangle = Rectangle((leg.get_frame().get_x(),
leg.get_frame().get_y()),
leg.get_frame().get_width(),
leg.get_frame().get_height(),
fc = 'red'
)
ax.add_patch(rectangle)
plt.show()
Il rettangolo non è solo disegnare ovunque in figura. Se guardo i valori di leg.get_frame(). Get_x(), leg.get_frame(). Get_y()), leg.get_frame(). Get_width() e leg.get_frame(). Get_height(), I vedere che sono 0.0, 0.0, 1.0 e 1.0 rispettivamente.
Il mio problema vede così essere, trovare le coordinate del frame della legenda.
Sarebbe davvero bello se potessi aiutarmi.
Grazie per aver letto fino a qui.
Perché stai cercando di fare questo? Sei sicuro che non ci sia qualcosa incorporato nell'oggetto 'legend' che lo farà per te? – tacaswell