如何在散景图像图中更改颜色映射器

时间:2018-08-03 10:39:33

标签: python bokeh

我有一个要交互更改的散景图像图,例如:

color_mapper = LinearColorMapper(palette="Viridis256", low=tmp.min(), high=tmp.max())
p = figure(plot_width=tmp.shape[0], plot_height=tmp.shape[1], 
           x_range=(0, tmp.shape[0]), y_range=(0, tmp.shape[1]))
img = p.image(image=[tmp], x=[0], y=[0], dw=[tmp.shape[0]], 
              dh=[tmp.shape[1]], color_mapper=color_mapper)

我可以使用以下方法更新颜色图中的范围:

cm = p.select_one(LinearColorMapper)
cm.update(low=new_data.min(), high=new_data.max())
push_notebook()

但是,我希望能够交互式地更改为其他类型的颜色图,例如从LinearColorMapperLogColorMapper。上面的内容只允许我访问LinearColorMapper对象,而不是替换它。有没有一种方法可以交互地执行此操作而不必再次调用image

1 个答案:

答案 0 :(得分:0)

找到了它,它在glyph实例的image对象中。一个人可以将其替换为另一个ColorMapper,例如:

img.glyph.color_mapper = LogColorMapper(palette="Viridis256",
                                        low=new_data.min(),
                                        high=new_data.max())
push_notebook()