Ich versuche, ein Rechteck auf die Legende in Matplotlib zu plotten.Wie zeichne ich ein Rechteck auf der Legende in Matplotlib?
Um zu zeigen, wie weit ich zeige ich mein Bestes versuchen bekommen, die nicht funktioniert:
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()
Das Rechteck zeichnet überall nur nicht in der Figur. Wenn ich mir die Werte von leg.get_frame(), get_x(), leg.get_frame(), get_y()), leg.get_frame(), get_width() und leg.get_frame() ansehe, get_height(), I sehen Sie, dass sie 0.0, 0.0, 1.0 und 1.0 sind.
Mein Problem sieht so aus, die Koordinaten des Rahmens der Legende zu finden.
Es wäre wirklich toll, wenn Sie mir helfen könnten.
Vielen Dank für das Lesen dieses weit.
Warum versuchen Sie, dies zu tun? Bist du sicher, dass das "legend" -Objekt nicht etwas eingebaut hat, das es für dich tun wird? – tacaswell