-1
메인 플롯에서 마우스를 가리킬 때의 현재 X 값에 해당하는 보조 플롯에 데이터를 플롯하려고합니다. 한 플롯을 다른 마우스 위로 움직이는 방법으로 업데이트하는 방법은 무엇입니까?
나는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)
불행하게도, ax2
이 unpredicatble 동작 코딩. fig2
창을 클릭하기 전까지 마우스를 가리키면 업데이트되지 않습니다. 또는 pycharm에서 중단 점을 설정하거나 해제 할 때까지 업데이트되지 않습니다.
[mcve]를 읽고 이에 맞게 업데이트하십시오. 문제를 재현하는 데 필요한 중요한 부분을 생략하면 다른 사람이 문제를 이해하는 데 도움이되지 않으므로 답변을 얻는 데 도움이되지 않습니다. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest 내 업데이트를 참조하십시오. – Dims