plot - 流入散景 varea_stack
问题描述
我正在尝试使用varea_stack
并能够将数据流式传输到其中。要创建它,我使用以下代码:
self.limits_source = ColumnDataSource(dict(x=[], normal=[], amber=[], red=[], top=[]))
self._stack_graph = figure(sizing_mode='stretch_both', toolbar_location=None, tools="")
self._stack_graph.varea_stack(['normal', 'amber', 'red', 'top'], x='x', color=("green", "orange", "red"),
source=self.limits_source)
我的想法是在数据进入时使用回调来填充这个数据源。
但是,此代码会导致错误:
File "/anaconda2/envs/pred/lib/python3.7/site-packages/bokeh/plotting/figure.py", line 1131, in varea_stack
for kw in _double_stack(stackers, "y1", "y2", **kw):
File "/anaconda2/envs/pred/lib/python3.7/site-packages/bokeh/plotting/helpers.py", line 144, in _double_stack
raise ValueError("Keyword argument sequences for broadcasting must be the same length as stackers")
ValueError: Keyword argument sequences for broadcasting must be the same length as stackers
该错误似乎表明它需要这个“y1”和“y2”区域,即只有;y 两个可堆叠区域。真的吗?ie 我只能有 2 个堆栈吗?
解决方案
不,该错误意味着如果您要堆叠 N 个条形,那么您必须具有例如恰好 N 个颜色(或任何属性)才能匹配。您的代码堆叠了 4 件事:
['normal', 'amber', 'red', 'top']
但仅提供 3 种颜色:
("green", "orange", "red")
这不匹配,并且无法工作。
推荐阅读
- logstash - 如何在使用 Logstash 过滤 JSON 字段时转义键 []?
- javascript - 多个 setState/状态冲突
- corda - 节点在哪里检查交易的支持链?
- javascript - 如何使用 vis.js 强制边缘方向?
- windows - 无法删除程序文件以创建符号链接...说我需要自己的许可?
- c - scanf递归函数触发printf两次?
- android - 在 Kotlin 中记录变量的类型
- python - 如何在 python 中复制文件中的一行?
- java - bazel run *_deploy.jar 因“无法执行二进制文件”而失败
- google-sheets - 如何将单元格组合成两列以显示同一行中元素之间的所有链接