如何手动设置全息视图颜色条的限制?

How do I manually set the limits of a holoview's colorbar?

当我尝试输入自己的代码时...

在较早的单元格中...

ticker = FixedTicker(ticks=range(0, 10))

在下面的单元格中...

%%opts HeatMap [colorbar=True colorbar_opts={'ticker': ticker}]

我明白了...

TypeError [Call holoviews.ipython.show_traceback() for details]
MetaModel object got multiple values for keyword argument 'ticker'

这是回溯...

  File "/Users/ahuang11/anaconda3/envs/tf/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 757, in _init_glyphs
    renderer, glyph = self._init_glyph(plot, mapping, properties)

  File "/Users/ahuang11/anaconda3/envs/tf/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 1201, in _init_glyph
    self._draw_colorbar(plot, self.handles['color_mapper'])

  File "/Users/ahuang11/anaconda3/envs/tf/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 1100, in _draw_colorbar
    **dict(opts, **self.colorbar_opts))

TypeError: MetaModel object got multiple values for keyword argument 'ticker'

可以在 HoloViews Elements 的 Dimension 对象上设置颜色范围和所有其他范围。当您声明 HeatMap 时,将创建三个(或更多)维度。前两个是关键维度 (kdims),对应于热图的 x 轴和 y 轴。其次,有两个或更多值维度 (vdims),第一个映射到颜色范围。构造对象时可以显式声明维度范围。在这里,我们设置 'z' 维度的颜色,它应该是您正在绘制的任何列的名称:

hv.HeatMap(..., vdims=hv.Dimension('z', range=(0, 10)))

您也可以使用 redim 接口在事后覆盖范围。当您有一个对象集合时,这也将起作用,因为它将递归地在包含该维度的所有对象和 return 一个新对象上设置范围。看起来像这样:

heatmap = hv.HeatMap(...)
redimensioned_heatmap = heatmap.redim.range(z=(0, 10))