问题标签 [r2d3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
150 浏览

r - 带有 r2d3 和闪亮应用程序的交互式图表

我正在尝试使用 r2d3 包向我的 Shiny 应用程序添加交互式条形图。我有一个像这个虚拟样本这样的数据集,其中包含日期、id 和运动列,仅供参考:

我的目标是有一个应用程序,用户可以从右侧菜单中选择每个 id,然后我们有一个条形图,以条形图显示每天的使用时间(这里是虚拟示例)。

在此处输入图像描述

我已经为我的条形图部分尝试了这个,但显然,我在这里遗漏了一些东西。任何帮助将不胜感激


0 投票
1 回答
253 浏览

javascript - 使用 R2D3 时无法识别的功能

我有类似的代码,只使用运行良好的 javascript,但是当我尝试使用 R2D3 从 flexdashboard 运行它时,脚本中包含的其他功能无法识别。

我已经简化了下面的代码,以专注于产生错误 TypeError: d3.scaleRadial is not a function 的 ScaleRadial 函数(我包含在 htmltools::tag$script 中)。

我对 d3.tip 也有类似的问题,但没有包含相应的代码。

我已经尝试了我能想到的一切,但无济于事。热烈欢迎任何帮助。

在此处输入图像描述

仪表板.Rmd

bbmapchartSO.js

0 投票
2 回答
100 浏览

r - r2d3 可视化中的范围界定 - d3.selectAll 与 svg.selectAll

为什么d3.selectAll('rect')...在鼠标悬停函数中的下面的脚本中不能正常工作,但svg.selectAll('rect')...可以?

svg是来自 r2d3 的特殊预设选择器。

此外,我注意到d3.selectAll('rect').remove()从浏览器控制台运行例如从 Rstudio 运行可视化时不起作用。

这是来自 r2d3 示例,如下所示sample.js

通过 R 从 R 运行r2d3::r2d3("sample.js", data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20))

0 投票
0 回答
170 浏览

javascript - R Shiny + D3js - 使用新输入更新绘图会导致重叠图

我正在使用 Shiny 仪表板,我想在其中显示与用户可以选择的选定数据集相对应的条形图。虽然我可以创建条形图并在输入之间切换,但我在切换图表时遇到了问题:

在此处输入图像描述

在我的数据集之间切换会导致图中的条重叠(列被添加到上一个图中)。

我曾想过用“.transition()”来尝试以某种方式在数据集之间快速切换,但不幸的是,我没有让它工作。而且我不确定这是否有任何意义。我也尝试使用“.remove”,但它总是会在每个开关上删除一个栏。“.exit().remove()”对我不起作用。

有人知道如何防止重叠吗?

我的数据:

Histogram.js(我确实注释掉了我的方法,如上所述)

.R 文件(我将只包括如何在 UI 和服务器中调用绘图,因为代码很长:

数据: https ://drive.google.com/drive/folders/1BXQPgEBYax0mwB8eTA5Uf-PuYs27C_kD?usp=sharing

我很感激任何建议!:)

0 投票
1 回答
222 浏览

r - 您如何在 r2d3 中使用 d3 为轴过渡设置动画?

我正在尝试使用 D3 创建一个直方图,它对条形图和轴都有很好的动画过渡。让酒吧工作很简单,但我很难看到如何用轴做同样的事情。在下面的示例中,过渡看起来正在发生,但实际上每次都添加一个新轴,而不会删除旧轴。

我的最终目标是使用 R2D3 开发这样的小部件,然后将 javascript 交给其他人在 Java 应用程序中实现,所以我需要确保它是可转移的并且不使用 R/shiny/R2D3 javascript 文件中的特定内容。

这是hist.js脚本

这是我运行它的闪亮应用程序

0 投票
0 回答
30 浏览

d3.js - 我可以从 Inkscape 导入 .svg,或者在 d3 中将 xml 代码用于复杂形状吗?

我很欣赏这可能是一个非常简单的问题,但我正在努力在其他地方找到我的答案。

我正在尝试创建一个可视化,其中数据映射到“自定义”形状,例如: 在此处输入图像描述

我有一个用 Inkscape 创建的 .svg 文件,我用它来绘制我想要的东西,但我不知道如何在 D3 中翻译它,或者使用 Inkscape 的 xml 代码。

非常感谢任何帮助!

0 投票
1 回答
149 浏览

javascript - 如何在 D3 树节点中添加自定义条件颜色?

我正在学习 D3js,我想使用条件为树形图的节点分配颜色。比如数据类型是“str”,如果是“elem”,节点颜色会变成“read”或者“green”。

我参考了这个线程并添加了条件,但事实证明所有节点都变成黑色而不是“红色”或“绿色”。

有谁知道这种行为的原因?

这是D3代码:

数据:

0 投票
0 回答
36 浏览

javascript - 滑块更新后 D3 强制定向平滑过渡

我正在创建一个与多个滑块相关联的 D3 力导向可视化。当滑块输入改变时,变量 cx 和 cy 改变,节点移动到指定位置。这目前正在工作,但不是从初始位置过渡到下一个位置,而是节点“刷新”并从窗口左上角的新起始位置移动(丑陋)。这是我的可视化代码:

我还应该注意,我是通过 R shiny 运行它的,并且数据集是通过 r2d3 包与 JS 共享的。我在以下链接中找到了一些类似的主题,但无法使更改生效。

D3 - 如何在数据值更改时更新力模拟

这是我尝试实现上述(使用'shiny:inputchanged')来检测滑块何时更新为闪亮,但我没有让它工作。

0 投票
0 回答
38 浏览

javascript - 在检查器中调试 r2d3 (R) - 无法在控制台中查看数据?

我通常对 R 中的 r2d3 中的某些内容感到困惑。

我举了一个带有工具提示的简单条形图的例子(注意 JS 可以工作)。脚本中包含用于工具提示的 JavaScript 库:

JavaScript / D3 代码(script.js):

数据(data.tsv):

渲染 JavaScript 的 RMarkdown 代码:

所以,一切都好,如果我编织成 HTML 并打开它,我会看到一个漂亮的图表。但是,如果我打开页面检查器并转到控制台,则会console.log(data)简单地给我:

在此处输入图像描述

这里有两个问题。首先,它指的是某个晦涩难懂的文档中的第 192 行,我不知道它是什么——它不是指我的 JavaScript 文件 script.js。第二,我习惯于用 d3 来整理数据并查看对象数组等,这不是那样的。

使用 r2d3 似乎无法调试或查看 d3 背后的数据结构。此问题在此处进一步记录,在大约 40 分钟时提出的问题中:

https://www.youtube.com/watch?v=RuM24uJAJh0

0 投票
1 回答
46 浏览

javascript - d3 - 如何在月度图表上仅添加年份的 x 轴标签?

我正在 d3 中创建一个条形图(在 R 中使用 r2d3),显示每月的数据。我想知道如何格式化 x 轴,这样虽然每个月都有一个栏,但标签只显示年份标记(即在每个一月栏下。)

数据如下所示:

控制台中的数据:

在此处输入图像描述

D3 代码:

当前图表:

在此处输入图像描述

我想要的是:

在此处输入图像描述