gpt4 book ai didi

python - ColumnDataSource 中的 Bokeh 线图颜色

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:27 25 4
gpt4 key购买 nike

我想使用 ColumnDataSource 设置 Bokeh 线图( Bokeh 版本 0.12.5)的颜色。但是,对于线图,不会绘制任何内容。另一方面,如果我使用圆形渲染器,一切都会按预期进行。下面是一个包含线图和圆图的示例程序,您可以注释/取消注释相应的线以查看绘图行为。我还为线图添加了一行代码,其中明确定义了颜色并且该图完美运行。我看到有几个类似的问题被问到,但找不到解决这个问题的可靠方法,也无法确定我是否只是在做一些根本性的错误。感谢您的帮助。

# bokeh version 0.12.5
# run in terminal with: python -m bokeh serve --show line_plot_color.py

from bokeh.io import curdoc
from bokeh.models import ColumnDataSource
from bokeh.plotting import Figure
from bokeh.layouts import row

source = ColumnDataSource(data = dict(color = ['green','green','green'], xs = [1,2,3], ys = [1,2,3]))
fig = Figure(plot_width=300, plot_height=300)

#r = fig.circle('xs','ys',source = source, size = 12, fill_color = 'color') # works as expected
r = fig.line('xs','ys',source = source, line_color = 'color') # fails to plot; no errors or warnings in terminal
#r = fig.line('xs','ys',source = source, line_color = 'green') # works as expected

layout = row(fig)
curdoc().add_root(layout)

最佳答案

首先,为了帮助您调试 bokeh 服务器,使用网络浏览器附带的开发工具非常有用。 devtools 的控制台将包含有用的调试信息,就像您的示例一样。

其次,通过文档查看行字形方法未设置为接收用于其着色的列数据源值。如果要在单个图形上绘制多条不同颜色的线条,则可以使用 multi_line 字形。要使用此字形,您需要将数据源 xs 和 ys 修改为 multi_line 中每一行的列表列表。这是一个简单的例子。

source2 = ColumnDataSource(data = dict(color = ['green','red'], xs = [[1, 2],[2, 4]], ys = [[1, 2],[2, 4]]))
r = fig.multi_line('xs','ys',source = source2, line_color = 'color')

关于python - ColumnDataSource 中的 Bokeh 线图颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44643276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com