我利用鼠标点击事件向终端显示图中鼠标点击的坐标。
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)
我的python崩溃。
有关我做错的任何建议吗?或者,如果有更好的方法可以做到这一点?
由于
答案 0 :(得分:0)
崩溃的原因是append
只需输入1个。
答案 1 :(得分:0)
Python不会崩溃。它会抛出错误并告诉你错误。在这种情况下,它会告诉你像
这样的东西TypeError: append() takes exactly one argument (2 given)
你可以从中推断出你有一个论点太多了。
可能的解决方案:您可以附加一个元组,
coords.append((event.xdata, event.ydata))
或者您可以使用两个列表,
coordx.append(event.xdata)
coordy.append(event.ydata)