Bokeh-在不同的图中绘制不同的颜色

问题描述 投票:0回答:1

我正在尝试在不同的图中绘制不同批次的数据。我希望每个批次的每一行都有不同的颜色。

这是我尝试过的:

color = 7
x = df['Time']

TOOLS = "crosshair, hover, reset, pan, save"

p = [figure(title="Title_1", x_axis_label='Elapsed Time (s)', y_axis_label='Voltage [V]', tools = TOOLS, x_range=(0, 100), y_range=(0, 1000)),
                 figure(title="Title_2", x_axis_label='Elapsed Time (s)', y_axis_label='Voltage [V]', tools = TOOLS, x_range=(0, 100), y_range=(0, 1000))]

for i in range(0,20):
    p[0].line(x, df.iloc[:,i], line_color = Magma256[color][i])
for i in range(20,36):
    p[1].line(x, df.iloc[:,i], line_color = Magma256[color][i])

plts = gridplot([p[0],p[1]], ncols = 1,  plot_width = 1000, plot_height = 1000)
show(plts)

尝试此操作时出现以下错误:

IndexError:字符串索引超出范围

我认为这意味着我的

"line_color = Magma256[color][i]"

超出范围,但是如果大小为256,怎么可能?我可以尝试什么?

python bokeh
1个回答
0
投票

所以我解决了。

显然,我不得不阅读更多有关它的内容。这是我使用的说明和解决方案。

代码中的一切都很好,问题在于Magma256是一个列表。

我正在尝试将其用作目录。表示如果我想正确使用它,则必须将Directory[index of the list][index of the color inside the list]例如Magma[256][1]如果我想要Magma256。

要用不同的颜色绘制两个图中的所有线条,代码看起来像这样:

color = 256 

for i in range(0,20):
    p[0].line(x, df.iloc[:,i], line_color = Magma[color][i])
for i in range(20,36):
    p[1].line(x, df.iloc[:,i], line_color = Magma[color][i])
© www.soinside.com 2019 - 2024. All rights reserved.