散景CDSView与线字形

时间:2018-02-13 18:57:35

标签: bokeh

我使用带有nan值的散景线字形来创建包含多个线段的图像。

我想有选择地关闭其中一些字形。实现这一目标的最佳方法是什么?

我的第一次尝试是拥有visible列,并使用CDSView打开或关闭每个线段。但是这没有效果,我怀疑因为bokeh将所有这些线段标识为单个字形。有没有办法使用CDSView关闭line字形的各个部分?我应该看一下另一个字形吗?

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用multi_line字形,它允许您绘制声明为单独数组的许多单独的线段。完成后,您可以通过声明单独的Alpha列来控制每个线段的可见性。这是一个最小的例子:

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource

p = figure()
source = ColumnDataSource(data={
    'xs': [[1, 2, 3], [1, 2, 3]],
    'ys': [[1, 2, 3], [2, 3, 4]],
    'alpha': [0, 1]
})
p.multi_line(xs='xs', ys='ys', line_alpha='alpha', source=source)
show(p)