我试图显示图像,在某处单击它,然后将这些坐标存储到变量中。但是,我无法这样做。我可以打印单击坐标,没问题,但是我无法找到一种实际存储这些坐标的方法。 matplotlib文档提供了一些有关一般如何使用“ fig.canvas.mpl_connect”的教程,但是没有一个例程涵盖存储点击坐标,这就是我想要的。在StackExchange以及其他网站上都有一些教程,但是它们似乎是针对python和/或matplotlib的过时版本的。
这是我现在的简单代码:
import matplotlib.pyplot as plt
x = 0
def onclick(event):
print(event.xdata)
print(event.ydata)
global x
x = event.xdata
fig,ax = plt.subplots(figsize=(8,8))
plt.show()
cid = fig.canvas.mpl_connect('button_press_event',onclick)
print(x)
运行此代码后,它将立即打印“ 0”,然后显示图像。然后,当我单击该图时,将坐标打印到控制台。我曾尝试在打印语句之前放置一个暂停命令,但是它只是等待打印“ 0”,然后显示图像。本质上,我需要它来显示图像,以便可以单击它,然后打印单击的坐标。
任何帮助将不胜感激。如果存在单击坐标,我也愿意接受另一种方法。谢谢。