我试图在散景服务器上绘制多行,它几乎可以找到。 但是线条有一个颜色问题。
我的代码如下所示,当我在散景服务器上运行时,会引发“运行时错误”,为什么?我该如何解决?
p.multi_line('year', 'area', alpha=0.6, color=BuGn8, source=source)
RuntimeError:
Supplying a user-defined data source AND iterable values to glyph methods is
not possibe. Either:
Pass all data directly as literals:
p.circe(x=a_list, y=an_array, ...)
Or, put all data in a ColumnDataSource and pass column names:
source = ColumnDataSource(data=dict(x=a_list, y=an_array))
p.circe(x='x', y='x', source=source, ...)
答案 0 :(得分:0)
bokeh.pallettes.BuGn8
不是颜色,而是颜色列表。并且,正如错误所述,使用字形方法时不能混合列表和数据源。
如果每行需要不同的颜色,可以向数据源添加另一列,并将列名称传递给color
字形函数的multi_line
属性。
一个小例子:
from bokeh.io import output_file, show
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
from bokeh.palettes import BuGn8
p = figure()
ds = ColumnDataSource(data=dict(xs=[[1, 2, 3], [2, 3, 4]],
ys=[[3, 2, 1], [4, 3, 2]],
color=[BuGn8[0], BuGn8[-1]]))
p.multi_line(xs='xs', ys='ys', color='color', source=ds, line_width=10)
output_file("test.html")
show(p)