我正在处理带有两个轴的图表,支持选取线条。我正在使用matplotlib和twinx()命令。不幸的是,选取事件只针对顶层轴中的图形进行调用(如下例所示)。
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()
有没有一种方法可以从下面的轴中选择线条?