【发布时间】:2020-07-13 23:25:13
【问题描述】:
我正在使用两个支持选择线条的轴进行绘图。 我正在使用 matplotlib 和 twinx() 命令。不幸的是,pick 事件仅针对最顶部轴中的艺术家调用(参见下面的示例)。
import matplotlib.pyplot as plt
import numpy as np
def onPick(event):
print(event.artist.get_label())
def pick():
fig=plt.figure(figsize=(5, 4), dpi=100, tight_layout=True)
axis_1=fig.add_subplot(111)
axis_2=axis_1.twinx()
axis_1.set_ylim(0, 10)
axis_2.set_ylim(0, 10)
x=np.array([1,2,3,4])
y_1=np.array([1,1,1,1])
y_2=y_1+4
axis_1.plot(x, y_1, picker=5, label='line_1')
axis_2.plot(x, y_2, picker=5, label='line_2')
fig.canvas.mpl_connect('pick_event', onPick)
plt.show()
if __name__=='__main__':
pick()
有没有办法从下面的轴上挑线?
【问题讨论】:
-
这能回答你的问题吗? Matplotlib picker event on secondary y-axis
-
我知道这个帖子。我正在寻找一般的解决方案。与 twinx() 无关。如何实现两个轴的pick事件?
-
嗯,不可能
标签: python-3.x matplotlib multiple-axes