2つのカラーバーがあり、両方に異なるピックイベントを設定したいのですが、どうすればよいですか?私のコードATMは
x_ax.set_picker(5)##colorbar set picker
def on_pick(event):
artist = event.artist
val = event.mouseevent.ydata
xal = event.mouseevent.xdata
if highlight == 1 :
print 'hello'
global highlight
highlight = 0
self.canvas.draw()
if highlight == 0 :
highlight = 2
trans = transforms.blended_transform_factory(self.ax.transAxes,self.ax.transData )
rect = patches.Rectangle((0,1),width=5, height=5, transform=trans, color='yellow',alpha=0.5)
self.ax.add_patch(rect)
self.canvas.draw()
rect.remove()
else:
self.canvas.draw()
trans = transforms.blended_transform_factory(self.ax.transAxes,self.ax.transData )
rect = patches.Rectangle((0,10),width=25, height=25, transform=trans, color='yellow',alpha=0.5)
self.ax.add_patch(rect)
highlight = 1
self.canvas.draw()
rect.remove()
self.canvas = FigureCanvas(self, -1, self.fig)
self.canvas.mpl_connect('pick_event',on_pick)
追加x2_ax.setpicker(5)
し self.canvas.mpl.connect('pick_event', on_click)
てみましたが、どちらかのカラーバーをクリックすると、両方とも実行されたようです。
私のon_pickは、グラフ上のセクションを強調表示するだけです
カラーバーごとに個別のピックイベントを追加するにはどうすればよいですか?