3

カラーバーとグラフがあります。カラーバーでonclickメソッドを使用して、グラフ上で何かを実行できるかどうか疑問に思いました。だから、カラーリングの特定の色の部分をクリックすると、何かが起こります私は私が起こりたいビットを行う方法を知っています。クリック時に許可するようにカラーバーを設定する方法を知りたいだけです

4

1 に答える 1

6

もちろん!のようなことをしてくださいcbar.ax.set_picker(tolerance)

簡単な例として、これにより、カラーバーをクリックした値の近くの画像の値が強調表示されます。

import numpy as np
import matplotlib.pyplot as plt

data = np.random.random((10,10))

fig, ax = plt.subplots()
im = ax.imshow(data)
cbar = fig.colorbar(im)
ax.set_title('Click on the colorbar')

highlight = ax.imshow(np.ma.masked_all_like(data), interpolation='nearest', 
                      vmin=data.min(), vmax=data.max())

def on_pick(event):
    val = event.mouseevent.ydata
    selection = np.ma.masked_outside(data, val - 0.05, val + 0.05)
    highlight.set_data(selection)
    fig.canvas.draw()

cbar.ax.set_picker(5)
fig.canvas.mpl_connect('pick_event', on_pick)

plt.show()

ここに画像の説明を入力してください

于 2013-02-16T17:20:17.487 に答える