python - Bokeh - 在不同的图中绘制不同的颜色
问题描述
我正在尝试在不同的图中绘制不同批次的数据。我希望每批每行都有不同的颜色。
这是我尝试过的:
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])
推荐阅读
- python - 更改类变量python
- svgpanzoom - 使用 SvgPanZoom 从缩放中排除元素
- python - Scipy KSTest TypeError:_parse_args() 需要 3 到 5 个位置参数,但给出了 6 个
- python - 使用 python 搜索 CSV 文件
- android - 如何在 android 中使用 Text Watcher 进行多个编辑文本?
- c - 为什么 int (*ptr)[10] 类型的指针需要数组的地址而不仅仅是数组本身
- javascript - 在javascript代码中获取未定义的错误
- arrays - 删除每个文档的数组中特定于 mongo 的嵌套文档
- java - 使用java将数据从数据库设置到Extjs网格
- java - Slf4j - 启用调试,信息消息