小编EGu*_*Guy的帖子

Matplotlib 具有多个轴的拾取事件

我正在使用两个轴进行绘图,支持选取线条。我正在使用 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()
Run Code Online (Sandbox Code Playgroud)

有没有办法从下面的轴中选取线?

matplotlib python-3.x multiple-axes

6
推荐指数
1
解决办法
1235
查看次数

标签 统计

matplotlib ×1

multiple-axes ×1

python-3.x ×1