Ich wollte Daten in zusätzlichen Plot, die aktuellen X-Wert der Maus Hover in Hauptdiagramm entsprechen entsprechen.Wie wird ein Diagramm aktualisiert, wenn sich die Maus über ein anderes bewegt?
I codiert
import math
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(dpi=100, figsize=(5, 5))
x = np.arange(0, 6, 0.1)
plt.plot(x, np.sin(x), 'r')
fig2, ax2 = plt.subplots(dpi=100, figsize=(5, 5))
def plot_ray(angle, y):
circle = plt.Circle((0, 0), 1, color='b', fill=False)
length = y/math.sin(angle)
line = plt.Line2D([0, length * math.cos(angle)], [0, length * math.sin(angle)])
ax2.clear()
ax2.set_xlim(-2, 2)
ax2.set_ylim(-2, 2)
ax2.add_artist(circle)
ax2.add_artist(line)
def mouse_move(event):
x = event.xdata
y = event.ydata
if x is not None and y is not None:
angle = x
plot_ray(angle, y)
cid = fig.canvas.mpl_connect('motion_notify_event', mouse_move)
plt.show(block=True)
Leider ax2
unpredicatble verhält. Es wird entweder nicht aktualisiert, während ich die Maus schwebe, bis ich auf fig2
Fenster klicke. Oder es wird nicht aktualisiert, bis ich den Haltepunkt in pycharm gesetzt oder freigegeben habe.
Wie das richtige Verhalten codieren?
Bitte lesen Sie [mcve] und aktualisieren Sie Ihre Frage entsprechend. Wenn Sie wichtige Teile weglassen, die notwendig sind, um das Problem zu reproduzieren, helfen Sie anderen nicht, das Problem zu verstehen und helfen Ihnen daher nicht, eine Antwort zu erhalten. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest siehe mein Update bitte – Dims