python - 未调用 Wedge 的 pick_event 处理程序
问题描述
我有下面的代码来显示一个楔子,一旦用户点击补丁,我想做一些事情。因此,我将一个处理程序连接到 ,"pick_event"
并通过传递picker=True
关键字 arg 启用了选择补丁。
一切都很好,除了当我真正点击补丁时什么都没有发生,即处理程序似乎没有被调用。
任何人都可以重现该问题或提出解决方案吗?
from matplotlib.patches import Wedge
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt
patches = [Wedge((5., 5.), 0.5, 30., 330., picker=True)]
fig, ax = plt.subplots()
ax.add_collection(PatchCollection(patches))
ax.set_xlim([0, 10.])
ax.set_ylim([0, 10.])
fig.canvas.mpl_connect('pick_event', lambda evt: print(evt))
plt.show()
当我添加另一个ax.scatter([2.5], [2.5], picker=True)
并单击该点时,将正确调用处理程序。
解决方案
我认为您需要使用set_picker
PatchCollection 的功能。我没有尝试,但我在文档中发现了类似的东西。
set_picker 文档
推荐阅读
- sql - 如何从多个表中获取“BILL”
- json - 更改 JSON 结构以适合弹性 swifttype
- php - WordPress 高级自定义字段:自定义帖子删除时更新字段
- vb.net - Visual Studio 2010 在 Windows 应用程序 (vb.net) 中使用 webservice
- git - Bitbucket/Github 对用户隐藏 git 分支
- python - 如何通过复制/跳过每个 N 项来重新采样数组?
- linux - 在使用 GPU 支持构建 tensorflow 时,额外的“lib64”添加到 CUDA_TOOLKIT_PATH
- r - 如何将时间序列拆分为单独的事件并分配事件 ID?
- oracle - APEX 无法访问登录页面全新 Windows 全新安装
- ruby-on-rails - 允许访客在 Heroku 上创建记录