gpt4 book ai didi

python - 使用 matplotlib 和 python 从 pick 事件获取子图

转载 作者:行者123 更新时间:2023-12-01 03:48:27 24 4
gpt4 key购买 nike

我有一个带有四个子图的图形,其中两个子图通过执行 canvas.mpl_connect('pick_event', onpick) 绑定(bind)在拾取事件上,其中 onpick 是 onpick(event) 处理程序。

现在,根据点击进入的两个子图中的哪一个,我必须激活不同的行为(即,如果选择来自第一个子图,则执行此操作,否则,如果来自第二个子图,则执行此操作),但我不这样做知道怎么做。谁能帮我吗?

最佳答案

这是一个简短的示例:

import matplotlib.pyplot as plt
from random import random

def onpick(event):
if event.artist == plt1:
print("Picked on top plot")
elif event.artist == plt2:
print("Picked on bottom plot")

first = [random()*i for i in range(10)]
second = [random()*i for i in range(10)]

fig = plt.figure(1)
plt1 = plt.subplot(211)
plt.plot(range(10), first)

plt2 = plt.subplot(212)
plt.plot(range(10), second)

plt1.set_picker(True)
plt2.set_picker(True)
fig.canvas.mpl_connect('pick_event', onpick)

plt.show()

请注意,您必须在应触发此事件的子图上调用 set_picker(True)!如果不这样做,即使您在 Canvas 上设置了事件,也不会发生任何事情。

要进一步阅读,请参阅 PickEvent documentation和一个pick handling demo来自 matplotlib 网站。

关于python - 使用 matplotlib 和 python 从 pick 事件获取子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38568646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com