colorbar matplotlib python上的onclick方法

时间:2013-02-16 13:44:37

标签: python matplotlib wxpython

我有一个颜色条和一个图表。我想知道你是否可以在颜色栏上使用onclick方法,然后在图表上执行某些操作。 因此,点击颜色的特定颜色部分然后发生一些事情 我知道怎么做我想要发生的事情。我只是想知道如何设置颜色栏以允许点击

1 个答案:

答案 0 :(得分:5)

当然!只需执行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()

enter image description here