在 Bokeh 中绘制 300-400 个字形的最有效方法是什么?

What's the most efficient way to plot 300-400 glyphs in Bokeh?

在编写可生成 300-400 个字形的 Bokeh Server 应用程序时,我发现大部分时间都花在循环遍历 300-400 个 ColumnDataSources 以设置它们以进行绘图。

for key in keys: #There are 400+ keys coding for 400+ ColumnDataSources
    p.circle('x', 'y', source=source_dict[key])

设置 1 个字形(即使是空的)只需要几分之一秒(0.1 秒)。但由于我试图绘制 400 个字形,这实际上最终需要大约 42-45 秒。这对于 bokeh 服务器启动时有点多。因此我想知道:如何加快设置 400 个字形?或者是否有更有效的方法来绘制这些东西。无论我使用什么,都需要保留悬停功能。

从 Bokeh 0.12.4 开始,HoverTool MultiLine 一起工作,所以正确答案是 "don't do that"。 Bokeh 被优化为具有更少的字形,每个字形具有更多的数据,而不是大量的字形,每个字形具有更少的数据。情节上的几十个字形?没关系。情节上有四百个字形?由于开销的缩放方式不同,这可能永远都不合理。

请参阅 的更新答案,了解如何将悬停工具添加到多行字形。