我正在尝试使用 Bokeh 创建交互式折线图。 Javascript 用于从数据库中选择正确的数据。它基本上选择行,我想显示在折线图中。我已经从我在网上找到的示例中起草了 Python/JS 代码,但由于更新的版本/赞赏的功能需要更新。在某个地方,我可能犯了一个错误,盯着几个小时后,我还没有找到解决办法。
问题归结为在使用的 ColumnDataFrame 中填充两列,因为它们没有填充我的代码(不知道为什么)。这些列是
index
和 level_0
。两者都不是输入数据库的一部分。
这是我的部分代码:
// filter lines.
// iterate over all lines:
for (var m = 0; m < line_renderers.length; m++) {
// clear out renderer's old data source
console.log("Vooraf", line_renderers[m].data_source.data);
line_renderers[m].data_source.clear();
// iterate over all rows in 'master' data source for this line...
var i = 0;
for (var n = 0; n < line_renderer_source_subsets[m].data.index.length; n++) {
// save the ones matching the selected criteria...
if (line_renderer_source_subsets[m].data['Jaar'][n] == jaar_select.value) {
// and for each field we're tracking, put the field/value combination to this line's data source
for (var f in fields_to_update) {
var field = fields_to_update[f];
line_renderers[m].data_source.data[field][i] = line_renderer_source_subsets[m].data[field][n];
}
i++;
}
}
}
line_renderer_source_subset 包含“主源”,我想用来自这个“主源”的过滤数据填充 line_renderers。
我尝试将列名
index
和 level_0
添加到 fields_to_update,这样它们就会被填充到循环中。它什么也没做。我多次改组代码,没有帮助。控制台输出清楚地显示line_renderers
包含空列“index”和“level_0”。