我想交互式地创建一个多边形使用鼠标点击一系列的数字和存储坐标。到目前为止,我只能对一个图形执行此操作,因为循环仍在继续,并且不会等待click事件完成。我做错什么了?在绘图之前的所有数据处理都应该在onclick函数内部完成吗?这是我的代码片段。在
import numpy as np
import matplotlib.pyplot as plt
def onclick(event):
global ix, iy
ix, iy = event.xdata, event.ydata
global coords
coords.append((ix, iy))
if len(coords) == 8: # allow for 8 clicks
fig.canvas.mpl_disconnect(cid)
plt.close()
for j in np.arange(len(folders)):
# loop through folders
for i in np.arange(len(files)):
# loop through files in folders
# do data processing
coords = []
fig = plt.figure(figsize=(12,12))
cid = fig.canvas.mpl_connect('button_press_event', onclick)
更新:我添加了一个简单的示例来说明我要做什么。代码确实在运行,但它没有执行我希望它执行的操作。我想绘制一个底图,在地图上绘制一个点4次不同的时间,并为每个实例获得鼠标坐标8次点击。到现在为止,它真的不能满足我的要求。我一般不使用函数,而且是新手,所以任何帮助都是非常感谢的。在
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐