gpt4 book ai didi

python - 在现有图表之上绘图 Python Matplotlib

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:46 25 4
gpt4 key购买 nike

所以我正在使用 matplotlib 编写一个程序,以便最初绘制一个基本图形,然后在其上放置点。我的目标是将鼠标放在图表中的某个点上,然后单击以添加点。我似乎找不到任何资源清楚地说明如何实际输入点,因为在绘制初始图形后发生单击鼠标的事件。这是我到目前为止所拥有的。

import matplotlib.pyplot as plt
import numpy as npy
x,y,vx,vy=npy.loadtxt('issmplotdat.txt',delimiter=',',unpack=True)
elements=npy.loadtxt('issmplotdatelements.txt',delimiter=',')

vel=npy.sqrt(vx**2+vy**2)

fig = plt.figure()
plt.tricontourf(x,y,elements,vel)
plt.hold(True)
plt.plot(3,9, 'ro')

def on_keyboard(event):
print "you pressed", event.key, "\nat:", event.xdata, event.ydata
plt.plot(9, 9, 'ro')
print "plotted"

def on_click(event):
print('ehllo')
print 'you pressed:', event.button, '\nat:', event.xdata, event.ydata
plt.plot(event.xdata, event.ydata, 'ro')


zing = fig.canvas.mpl_connect('button_press_event', on_click)
ding = fig.canvas.mpl_connect('key_press_event', on_keyboard)

plt.show()

非常感谢!

-MS

最佳答案

调用绘图函数后,您需要通过调用 figure.canvas.draw() 来更新绘图。

[请注意,为此您需要访问全局Fig变量]

因此,在您的情况下,on_click 回调函数将是:

def on_click(event):
plt.plot(event.xdata, event.ydata, 'ro')
global fig
fig.canvas.draw()

enter image description here

关于python - 在现有图表之上绘图 Python Matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com