我正在尝试在不同的图中绘制不同批次的数据。我希望每个批次的每一行都有不同的颜色。
这是我尝试过的:
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,怎么可能?我可以尝试什么?
所以我解决了。
显然,我不得不阅读更多有关它的内容。这是我使用的说明和解决方案。
代码中的一切都很好,问题在于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])