我利用鼠标单击事件向终端显示图中鼠标单击的坐标。
def onclick(event):
if event.inaxes is not None:
print(event.xdata, event.ydata)
else:
print("Clicked outside axes bounds but inside plot window")
cid = fig.canvas.mpl_connect('button_press_event', onclick)
这段代码有效,但是如果我希望通过这样做来存储坐标:
coords = []
def onclick(event):
if event.inaxes is not None:
coords.append(event.xdata, event.ydata)
else:
print("Clicked outside axes bounds but inside plot window")
cid = fig.canvas.mpl_connect('button_press_event', onclick)
我的蟒蛇崩溃了。
关于我做错了什么的任何建议?或者如果有更好的方法可以做到这一点?
谢谢
崩溃的原因是append
只需要 1 个输入。
Python 不会崩溃。相反,它会抛出一个错误并告诉您出了什么问题。在这种情况下,它会告诉你类似
TypeError: append() takes exactly one argument (2 given)
从中你可以推断出你有一个论点太多了。
可能的解决方案:您可以附加一个元组,
coords.append((event.xdata, event.ydata))
或者您可以使用两个列表,
coordx.append(event.xdata)
coordy.append(event.ydata)