首页 > 解决方案 > R2D3 与 D3.js 相比

问题描述

我想在 R 中使用R2D3包,但我不确定这个包与 D3.js 库的关系。R2D3 是否以任何方式限制 D3 的功能?我们可以将 R 中的所有 D3 功能和特性与 R2D3 一起使用吗?

标签: rd3.jsr2d3

解决方案


最简单的说:R2D3 本质上是一个 R 包,它允许将数据绑定到 JavaScript D3 可视化:R 执行您的数据操作,D3(和 JavaScript)处理您的可视化。

要专注于您的问题:

您可以在可视化脚本中使用D3 的所有标准方法(v3、4 或 5) - R2D3 中的 D3 库没有任何修改或限制。当您使用常规 D3、JavaScript 和 HTML 时,可视化脚本必须仍然是有效的 JavaScript。因此,要使用 R2D3 有效地创建可视化,您必须熟悉 D3 和 JavaScript。

为了进一步澄清您的问题:“我们能否将 R 中的所有 D3 函数和特性与 R2D3 一起使用”:您可以将数据分配给 javascript/D3 可视化,但您不能直接在 R 中访问 D3 函数或方法。您是仅使用 R 将数据绑定到外部 D3 脚本。


有可能的限制,不是在 D3 上,而是在可视化上:

根据您的最终设置,可视化和 R 之间的来回通信以及使用不同库创建的 Web 组件之间的交互可能存在一些限制。这些是 D3 以外的事物的限制,但是可能会影响 D3 可视化的事物,这些限制可以通过一些工作来克服。

R2D3 还限制了用于故障排除的 javascript 控制台日志记录,但这也可以克服(参见此处)。对于具有静态数据的可视化,基本上没有限制。


推荐阅读