如何手动设置holoview彩色条的限制?

时间:2018-02-06 23:15:47

标签: python colorbar holoviews

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

在较早的单元格中......

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'

1 个答案:

答案 0 :(得分:3)

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

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

您也可以使用redim界面覆盖事实后的范围。当您拥有一组对象时,这也将起作用,因为它将在包含该维度的所有对象上递归设置范围并返回一个新对象。看起来像这样:

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