问题标签 [networkd3]

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 投票
2 回答
570 浏览

r - R闪亮中的html小部件之间的交互

我正在开发一个使用多个 html 小部件的 R 闪亮应用程序,特别是networkD3d3heatmapchorddiag

这些小部件单独工作正常。但是,在同一页面中使用它们会在它们应该存在的地方留下空白。

这是显示错误的可重现代码。UI 中的注释绘图行,您将看到绘图出现和消失。

我非常感谢您的帮助!

0 投票
1 回答
715 浏览

r - R Shiny 中的 ColourScale ForceNetwork (NetworkD3)

在 forcenetwork 中,我找到了组和色标来为网络中的节点着色。我想要 2 个不同的组(根据用户在 2 个不同变量之间的输入将颜色应用于节点)。有可能吗?如果是,如何?

Forcenetwork - https://www.rdocumentation.org/packages/networkD3/versions/0.4/topics/forceNetwork

任何形式的帮助都会很有用。谢谢!

0 投票
1 回答
3472 浏览

r - 如何使用 R 在 sankeyNetwork 中自定义节点和边缘位置

networkD3 包中的 sankeyNetwork 大多数时候在定位节点方面非常聪明,但有时我想将节点水平放置到另一个位置。还有其他情况我想垂直移动边缘的起点。以下面的屏幕截图为例:

在此处输入图像描述

对于节点,我想将第 2 列的 B3 从右侧移动到左侧的第 4 列。同样,我想将 B4 从右侧第 2 列移动到左侧第 5 列。

对于边缘,我想将第一个边缘(B1->B11)的起点移动到 B1 的低端。

我的猜测是我需要对源代码进行一些更改并手动放入特定位置。我看到了这篇关于 js How to tune Horizo​​ntal node position in d3 sankeyjs 的帖子,但我不确定在 R 中该怎么做,除了我没有找到任何关于更改边缘位置的帖子。

这是可复制的数据和代码:

先感谢您!

0 投票
1 回答
4038 浏览

r - r中的sankeyNetwork有序节点

我正在尝试使用 networkD3 库在 R 中构建 sankey 图。

我有以下数据

所以当我尝试使用以下代码创建 sankeyNetwork

我得到以下结果。

桑基图

但是,它不是按顺序打印节点。

在我的节点数据框中,“as”是第一个节点,“sdf”是第二个节点。但是,在图像中,我将“as”作为第一个节点,将“wer”作为第二个节点。

如何确保图形遵循节点中的顺序?

0 投票
2 回答
458 浏览

r - 在 R Markdown 中嵌入 networkD3,为什么会出现这个错误?

我正在尝试将网络图添加到 R Markdown 文件中写一篇论文。我可以使用 NetworkD3 来使图形很好地可视化它。我想创建一个交互式 HTML,但我不断收到错误消息。这是一个例子:

然后我收到此错误,这与我尝试嵌入自己的图表时遇到的错误非常相似。

0 投票
1 回答
5749 浏览

r - 使用用户定义的颜色修改 networkD3 sankey 图

我在networkD3包中创建了一个 sankey 图。我想修改节点和链接的颜色和透明度。

我的数据networkD3_data附在最后。

问题一:如何使用自定义调色板修改节点颜色?

我不确定如何使用用户定义的调色板修改颜色。我有必要使用特定于每个节点源的相同调色板来与我拥有的其他图保持一致。

目前,我可以通过定义NodeGroup. 下面的图接近我想要的,但是现在我想自己指定每个源节点的颜色。

在此处输入图像描述

?sankeyNetwork说有一个colourScale参数,它采用“字符串指定节点的分类色标”。我认为这意味着我可以将具有所需颜色的列添加到networkD3_data$nodes数据框中并colourScale这样调用:

但这不起作用,没有情节产生。我搜索了stackoverflow并找到了2014年的答案:here,但我认为这不再有效,因为我在Error: unexpected symbol调用这些提议的解决方案中的任何一个时遇到错误(或者我可能只是不知道如何正确实现它)。

问题2:是否可以定义源和目标的显示顺序?

那么源从 Source0 到 Source10 并且从 Target11 到 Target47 列出目标?这套在哪里?我知道这对于允许算法以最佳方式定位节点是违反直觉的。

问题 3:如何使用自定义调色板修改链接颜色并更改透明度/不透明度?

我还想使用与源相同的配色方案对从源发出的链接进行颜色编码。我可以通过定义来做到这一点LinkGroup,见下图。我再次接近我想要的,但我只需要指定自己使用的颜色,我不确定在哪里修改它。我还想调整不透明度,使源颜色比链接颜色更纯色。

在此处输入图像描述

这是我的数据——dput(networkD3_data)

0 投票
2 回答
640 浏览

r - 使用networkD3在R中的桑基图中的交互性

我希望在这个 sankey 图上实现 onClick,以便通过单击链接,我应该看到两个节点之间链接的详细信息。就像 plotly_click 函数

桑基斯内普

0 投票
0 回答
424 浏览

r - R networkD3(或D3)中的Sankey图端到端突出显示

我想构建一个突出显示端到端路径的 sankey 图。我想使用一些免费的东西,并且不需要我上传数据来这样做。

这个 Tableau 可视化具有我想要的功能 - 当您将鼠标悬停在一个链接上时,您可以看到从开始到结束的整个轨迹,而不会突出显示与相同节点相交的任何其他链接,并且每个链接段都整齐地对齐: https:// public.tableau.com/profile/actinvision#!/vizhome/SuperstoreInteractiveSankeyShowcase/Sankey

我一直在研究 R 中的 networkD3 包;Christopher Gandrud 的 github 站点上的示例甚至使用了我理解的格式的数据。

但是如何更改突出显示功能?

以及如何确保突出显示的路径没有损坏?一旦整个路径被突出显示,我也希望避免有未对齐的链接(看起来像这样:http: //qinming.github.io/d3-sankey-with-highlighting/

谢谢你。

0 投票
1 回答
1059 浏览

javascript - R中的NetworkD3 Sankey图:如何计算每个链接的价值?

我正在尝试按照 d3Network 的 R 端口的示例创建一个详细说明的 Sankey 图(如此处所述:https ://christophergandrud.github.io/networkD3/ )。我加载以下示例“能源”数据集:

导入“Energy”数据集会生成两个新的 data.frame;节点和链接。查看链接数据显示以下格式:

“源”列表示原始节点,“目标”列表示目标节点,而“值”列表示每个单独链接的值。

尽管这在概念上相当简单,但我在获取与Energy$linksdata.frame 格式相同的数据集时遇到了巨大的困难。我已经能够以以下格式获取我的数据,但我对如何进一步转换它完全空白:

我想要做的是汇总每个链接的唯一客户数量。例如,在上述数据子集中,由于客户 18295,“1 社区服务”到“2 住房”的链接应该具有值 1(“2 住房”到“3 住房”的链接也应该是”以及“3 个房屋”到“4 个房屋”)。因此,我希望能够以Energy$links与桑基图示例相同的格式获取数据。

0 投票
1 回答
3428 浏览

r - R:为networkD3绘图添加标题并保存

我有兴趣为使用NetworkD3创建的 forceNetwork 图添加标题并使用 magrittr导出 html。

在R: HTML Tag Object 帮助页面中找到了一个解决方案,以便添加标题。然后我被指示在“更改 networkD3 绘图的背景颜色”browsable() StackOverflow 问题中添加 htmltool参数- 来自@timelyportfolio 的回答。

下面我提供了一个添加标题的最小工作示例,然后在没有标题的情况下保存网络,最后是我将两者结合起来的非工作尝试。

虽然我可以使用 magrittr 保存没有标题%>%

我无法将两者结合起来而不会出现以下错误。

system.file(config, package = package) 中的错误:
'package' 的长度必须为 1

抱歉,如果这只是一个简单的调试,但我不是程序员。