愿景


Bokeh 是一个面向现代 Web 浏览器的交互式可视化库。它提供优雅简洁的通用图形构建方式,并为大型或流式数据集提供高性能交互性。Bokeh 可以帮助任何想要快速轻松地创建交互式图表、仪表板和数据应用程序的人。




路线图


Bokeh 的开发速度取决于外部资金机会,因此这份路线图并不意味着暗示任何具体的日期或截止日期。以下是核心团队认为重要的主要工作领域。这些是我们希望自己完成的任务和项目,时间和资源允许时,或者我们乐于让新贡献者完成的任务和项目。


一致使用 WebGL

Bokeh 目前可以在某些有限情况下使用 WebGL 加速大型数据集的绘图。除了不支持所有用例外,内部成本是必须维护两个独立的代码路径。理想情况下,Bokeh 的渲染应该始终尽可能使用 WebGL,这样就可以始终为大型数据集提供更好的性能,并简化未来的维护。

将 BokehJS 发展为一等 JavaScript 库

总的来说,核心贡献者中没有一个是 JS 或前端专家,而且在一段时间内,客户端 BokehJS 库只是一个实现细节。人们越来越希望直接使用 BokehJS,并且在经验丰富的 JS 前端开发者的关注下,BokehJS 可以比现在更好地与现有的通用 Web 框架和工具集成。这包括为 BokehJS 本身提供更易于访问的文档。这些改进还有助于增加长期维护 BokehJS 的核心开发人员的潜在池。

提高可访问性

我们需要更好地为有认知、发育、智力、精神、身体和/或感觉障碍的用户和贡献者提供服务,并更好地适应辅助技术。实现这一目标包括更新 Bokeh 的代码库以及 Bokeh 的文档和其他 Web 资源。

更好的主题支持

Bokeh 目前具有一些最小的主题功能,可以为类型指定属性。能够为单个对象或对象集合设置更多目标和更复杂的方式来设置主题将很有用。此外,还需要做一些工作来改进或创建与不同主题协同工作的视觉资产,并使 DOM 元素也易于设置主题。

视觉设计改进

Bokeh 从未受益于任何专门的 Web 或视觉设计师,而这是它与其他一些项目相比所缺乏的方面之一。在视觉上,它看起来比以前更不像“工程师设计的”,但仍有很大的改进空间。另一个想法是,如果实现了*更好的主题支持*,可以让视觉设计师帮助创建一个可立即提供给用户的吸引人的主题集。

改进对开放地理空间数据格式的支持

开放地理空间联盟 (OGC) 标准(如 GeoJSON 和 TopoJSON)在共享和交换地理数据方面发挥着重要作用。改进 Bokeh 对这些开放标准的支持将显著提高 Bokeh 地理相关功能的可用性和实用性。

改进对网格数据的处理

Bokeh 对任何类型的数据都有良好的基本支持,但没有包含任何针对标量、线性或图像数据在规则时间基础上采样的常见情况的特殊优化。这种类型的网格 0D/1D/2D 时间序列数据经常出现在涉及点、线或图像传感器(如麦克风或温度探头、电极阵列、相机或显微镜图像等)的科学或工程数据采集和分析环境中。通过改进现有高效的二进制传输机制,同时提高性能,添加用于处理流数据的用户界面元素,并为研究人员提供示例,可以极大地提高 Bokeh 的性能、易用性和适用性。

平滑动画和过渡

一些用户表示对使图表的不同视图从一种状态平滑地过渡到另一种状态的功能感兴趣。(与 GGplot 中的“tween”动画进行比较)。这将使人们能够通过脚本编写将一种数据视图平滑地过渡到另一种数据视图来创建具有视觉吸引力的“数据故事”。

简单的 RPC 机制

Bokeh 目前允许用户在数据更改或各种 UI 事件发生时执行 JavaScript 代码或 Python 代码。一些用户请求更直接的“简单远程过程”功能,这将使他们能够例如在 Bokeh 服务器应用程序中直接从 Python 执行 JavaScript 函数,反之亦然。

技术写作帮助

Bokeh 文档已经变得非常庞大,并且包含很多信息,但事实似乎是,许多用户仍然难以找到合适的文档或示例,即使它们存在。该项目将从经验丰富的帮助中受益匪浅,这些帮助将帮助组织文档的信息架构,指出缺失的区域等等。

内置 LaTeX / MathText 支持

Bokeh 可以通过创建和使用自定义扩展来显示数学符号和公式。用户表示希望该功能更直接地集成,例如为轴或刻度标签绘制数学文本,而无需求助于自定义扩展。

选择和悬停

Bokeh 支持基于每个字形的各种选择和悬停命中测试。在当前缺少的任何地方添加必要的命中测试,使支持更加统一将会很好。此外,Bokeh 需要一种基于策略的机制来处理“多个命中”,即如果鼠标悬停在 50 个点上,则显示一个,或只显示前 N 个,甚至在悬停时显示一些聚合或摘要。

提高贡献者和用户之间的多样性、公平性和包容性

我们已经反复体验到,来自包容文化的差异性,从本质上讲,对项目有利,并且是使 Bokeh 成为更好工具的关键因素。我们决心让 Bokeh 对用户和贡献者来说是友好和支持的,无论其年龄、体型、残疾、种族、性别认同和表达、经验水平、国籍、个人外貌、种族、宗教或性取向如何。我们知道,实现这一目标是一个持续的学习和改进过程。