python - 如何为 HoloViews 中的点图手动设置颜色条的刻度位置?
问题描述
我有以下代码:
import numpy as np
import holoviews as hv
from bokeh.models import FixedTicker
hv.extension('bokeh')
points = hv.Points(np.random.randint(-3, 4, (20, 3)), vdims=['interval'])
points.opts(
color='interval',
size=10,
colorbar=True,
color_levels=7,
colorbar_opts={
'major_label_overrides': {
-3: 'high',
-2: 'medium',
-1: 'low',
0: 'none',
1: 'low',
2: 'medium',
3: 'high'
},
'major_label_text_align': 'left',
},
cmap='RdYlGn',
)
这会产生类似的东西:
但是,我想更改刻度位置(到颜色箱的中间)。但是当我将以下项目添加到colorbar_opts
字典时:
'ticker': FixedTicker(ticks=[-3, -2, -1, 0, 1, 2, 3]),
我收到此错误:
Traceback (most recent call last):
File "C:\Users\pablo\AppData\Local\Continuum\anaconda3\envs\sandbox-py3.7\lib\site-packages\holoviews\plotting\bokeh\element.py", line 1017, in _init_glyphs
renderer, glyph = self._init_glyph(plot, mapping, properties)
File "C:\Users\pablo\AppData\Local\Continuum\anaconda3\envs\sandbox-py3.7\lib\site-packages\holoviews\plotting\bokeh\element.py", line 1561, in _init_glyph
self._draw_colorbar(plot, v, k[:-12])
File "C:\Users\pablo\AppData\Local\Continuum\anaconda3\envs\sandbox-py3.7\lib\site-packages\holoviews\plotting\bokeh\element.py", line 1392, in _draw_colorbar
**dict(opts, **self.colorbar_opts))
TypeError: MetaModel object got multiple values for keyword argument 'ticker'
如何设置颜色栏中刻度线的位置?
我正在使用 Python 3.7、HoloViews 1.11.2 和 Bokeh 1.0.4
解决方案
推荐阅读
- ios - Flutter 构建 iOS 失败
- json - 使用 NewtonSoft 将 json 字符串转换并解析为键值对
- xml - 带有 & 符号 ( ) 的 xpath 属性引发错误“XPST0003: 没有关闭 ';' 为实体或字符参考找到'
- css - 使用css-grid时Div获得溢出滚动
- sql-server - PowerShell - 将多个查询结果存储在一个变量中
- python - 用xpath确认是否写注释
- c# - Azure Function v1 作为 SOAP 端点
- solr - Solr 7.x 带引号的短语搜索忽略标点符号
- python - LAMBDA 函数可以在进行聚合时从 python 中的另一列获取条件吗?
- unit-testing - 如何在 Junit 5 中模拟 FileWriter