Matplotlibpython可点击的点

Matplotlibpython可点击的点,第1张

Matplotlib / python可点击的点

要扩展@tcaswell所说的内容,请参见此处的文档:http
://matplotlib.org/users/event_handling.html

但是,您可能会发现选择事件的快速演示很有用:

import matplotlib.pyplot as pltdef on_pick(event):    artist = event.artist    xmouse, ymouse = event.mouseevent.xdata, event.mouseevent.ydata    x, y = artist.get_xdata(), artist.get_ydata()    ind = event.ind    print 'Artist picked:', event.artist    print '{} vertices picked'.format(len(ind))    print 'Pick between vertices {} and {}'.format(min(ind), max(ind)+1)    print 'x, y of mouse: {:.2f},{:.2f}'.format(xmouse, ymouse)    print 'Data point:', x[ind[0]], y[ind[0]]    printfig, ax = plt.subplots()tolerance = 10 # pointsax.plot(range(10), 'ro-', picker=tolerance)fig.canvas.callbacks.connect('pick_event', on_pick)plt.show()

确切的处理方式取决于您使用的艺术家(换句话说,您使用

ax.plot
vs.
ax.scatter
vs.
ax.imshow
?)。

选择事件将具有不同的属性,具体取决于所选的艺术家。永远存在

event.artist
event.mouseevent
。大多数具有单独元素(例如
Line2D
s
Collections
等)的艺术家将具有被选为的项目索引的列表
event.ind

如果您想绘制多边形并在其中选择点,请参见:http :
//matplotlib.org/examples/event_handling/lasso_demo.html#event-handling-
example-pre-lasso-demo-
py



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存