2017-10-16 111 views
1

我有3個軸與一個或多個行。 由於得到了光標所在行的選擇器,我試圖改變包含該行的ax的zorder。Matplotlib ZORDER斧隱藏其他斧的線

精度:我在一個FigureCanvasQTAgg衍生客體

def onmove(self, event): 
    """Methode appelée à chaque mouvement de souris dans le canvas.""" 
    for curr_axe in self.fig.get_axes(): 
     curr_axe.set_zorder(0) 
     if curr_axe.in_axes(event): 
      axe_x, axe_y = self.axe_dict[curr_axe.name].get_grid_coord(
       event.x, event.y) 

     for line in curr_axe.get_lines(): 
      contain, _ = line.contains(event) 
      if contain and line.get_label()[0] != '_': 
       curr_axe.set_zorder(0.1) 
       self.draw() 
       self.current_line = line.get_label() 

第一斧使用Matplotlib軸()類簡單地創建在圖中加添加add_axes()

axe = Axes(figure, rect) 
figure.add_axes(axe) 

的其他座標軸是通過twinx()創建的,並通過add_axes()添加到圖中

axe_2 = axe.twinx() 
figure.add_axes(axe_2) 
axe_3 = axe.twinx() 
figure.add_axes(axe_3) 

onmove作品(I可以挑選欲每一行),但是當第一繪製斧的ZORDER切換它隱藏如何後的軸的線的方法。

例如:如果我的鼠標在線路斧斧命名它隱藏axe_2和axe_3的線。

enter image description here

回答

0

我猜問題是您最斧頭,這掩蓋了潛在的軸線的背景色。

嘗試刪除所有的軸的背景,看看它是否解決了問題。

axe.patch.set_visible(False) 
axe_2.patch.set_visible(False) 
axe_3.patch.set_visible(False) 
+0

這是絕對準確非常感謝 – reynum