问题标签 [visnetwork]

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 投票
1 回答
1065 浏览

javascript - vis-network在任何情况下如何获取节点中心和左上角的实时位置?

jsfiddle 演示

希望能实时获取到节点和左上角的坐标。无论如何,例如放大时获得'node1'的位置。节点移动后,它是一个新的位置。它应该改变。应计算与红点的距离。

0 投票
1 回答
1054 浏览

vis.js - 使用打字稿在可见网络中设置边缘的问题

我正在关注 vis 中的动态数据集示例,当我尝试设置边缘时遇到打字错误。

我只有一个边缘数组,看起来像:

我将数据设置为

我得到的错误在边缘。

我正在使用 vis-network 的 5.2.4 版本。

0 投票
1 回答
109 浏览

r - 在 visIgraphnetwoork 中添加主标题

大家好,我无法通过 VisIgraph 为我的 visnetwook 添加主标题(我的图表首先是 igraph)。

我尝试使用 visSetitle 使用 dhiny,但不是这样。

这是最简单的工作示例。你能帮忙吗?

0 投票
1 回答
925 浏览

r - 如何根据节点所属的组动态着色节点?

所以,我们开始吧。我有一个包含多个节点的网络。每个节点可能属于不同的组(见下面我的想法)。

这是一个玩具示例,带有一个边列表:

和一个只有一组的节点表(stat列):

然后是生成具有属性stat的网络的代码,该属性当前用于对节点进行颜色编码,根据用户选择的stat :

这里的问题是:如果一个节点可能属于多个统计数据怎么办?我在这里看到两个主要选项:

我可以创建与上面相同的数据框,但具有多个统计列,并根据所选列对节点进行颜色编码。我正在考虑一个 [0-1] 列,其中属于该集合的节点标记为 1,并将在网络中着色(或 ON),而不属于该集合的节点将标记为0(并将关闭)。

或者,我可以使用包含集合列表的stat列创建与上面相同的数据框,但我真的不知道它是如何工作的

关于如何对属于不同集合的节点进行颜色编码的想法?我该如何处理这个选项visOptions(selectedBy= "stat")

编辑:

我知道 visOption 有几种可能性selectedBy。我试图弄清楚它如何适用于我的需求!

0 投票
0 回答
25 浏览

r - visNetwork 中是否可以使用 visConfigure 生成的选项代码来创建新网络?

我正在创建一个闪亮的应用程序,允许用户使用visOptions中的选项编辑visNetwork网络。manipulation = TRUE

我注意到visConfigure中有一个选项可以设置initiallyActive = TRUE,但无法弄清楚如何在我的图表上默认启用此选项。

0 投票
1 回答
635 浏览

json - (Vis.js 网络)从数据库加载节点

我很难理解如何使用 vis.js 网络来动态生成大量数据。从我在文档中阅读的内容来看,只有两种简单的方法可以导入数据:从 gephi 或点语言;正确的?是不是有点限制?

我对 gephi 或点语言一无所知,所以我决定使用我习惯使用的 mysql 数据库。所以我用 php 查询我的数据,并生成 javascript 来构建网络的节点和边缘。

但是到目前为止,我只有大约 200 个节点和边(这就像我最终将拥有的数据的 1/5)并且加载速度已经非常慢,似乎需要大量资源才能显示网络(当我打开网络页面时,我的 MacBook Pro 变得非常响亮),而 vis.js 应该是快速和轻量级的。

那是因为所有节点和边都“写入”在页面的代码中吗?还是我使用php查询mysql数据的事实?

我不拒绝使用 json 文件或点语言的想法,我只是不知道该怎么做……但如果它能让我有更好的表现,我想学习如何去做。谁能详细解释它是如何工作的?并且使用这些方法中的任何一种,我可以根据我需要显示的数据获得节点和边缘的不同大小和颜色(现在我在从数据库中查询数据后在 php 中执行此操作)?

0 投票
0 回答
182 浏览

r - 为什么我的网络地图输出没有显示在闪亮的应用程序中?

我最担心的是它没有出错,但它只是没有显示!我必须提一下,我什至打印了每一行,以便检查进展情况,并且一切都像控制台上的常规那样出现。我猜它必须在output$visnetwork函数中,但我只是不知道。


当我超级分配适合 visNetwork 的数据时,它给了我这个:Warning: Error in <observer>: cannot change value of locked binding for 'edges'但它的打印正常,所以我很困惑。

0 投票
1 回答
458 浏览

r - 在 visNetwork 中设置几个特定节点的固定位置

如何将节点 0 的位置固定在最右边,将节点 5 固定在最左边(5 可以,0 呢?

这是我在 R 中的可重现代码:

输出: 在此处输入图像描述

Mor解释:我需要形成一个可读的图形,我的数据集中的一个节点总是在左边(即完成节点,这里显示为5),一个在右边(即开始节点,显示为0)。我知道可能可以使用 randomseed 并尝试很多组合,但我正在寻找一个更好的解决方案,通过它们的 id 将两个节点的位置固定到最左边和最右边。

0 投票
0 回答
285 浏览

r - R visNetwork:自定义折叠行为以压缩图形可视化

我想自定义 R 包的折叠功能visNetwork

我正在使用R version 3.6.2,RStudio Version 1.2.5033visNetwork version 2.0.9.

标准行为是双击一个节点后,每个传出路径以及来自该节点的相应节点和关系都折叠到所选节点中。但我想自定义折叠功能,以便不折叠 n 个端节点。

这是一个示例图:

双击时node b,我希望它只node c聚集到node bendnodesnode d中,node e并且node f仍然未折叠。这个想法是通过双击压缩一个巨大的图形来动态地说明初始节点和结束节点之间的关系,而没有中间的方式。

下面是初始图的图像: 初始图

以及所需的图形之一: Clustered,compressed graph

我的第一个解决方案是在引擎盖下更改末端节点的箭头方向,使箭头指向 fromnode d和to ,node e因此从over开始的路径不会在之后继续。此外,我更改了各个箭头的位置,使它们位于起始节点(d,e,f)。因此,图表看起来与所需的折叠行为一样。node fnode cnode anode bnode c

我想知道是否有像函数这样更聪明的方法:

function(graph, cluster = "node b", other_nodes = c("node c", "node f")) 即执行后,仅在本例中聚类node c并从图中node f进入。函数的更多参数可以是= TRUE 或 FALSE,使用 n_hops = number 定义要折叠的集群节点的跃点...。node bgraphinclude_last_node

--> 有谁知道折叠时是否可以排除每条路径的最后一个节点?或者定义要折叠的集群节点的跳数(节点)?

提前感谢您的帮助!

0 投票
1 回答
139 浏览

r - 在 visNetwork 中的 Shiny 中以编程方式取消选择边缘

我想在 Shiny 的 visNetwork 网络中取消选择边缘。visSetSelection应该工作,但它没有:如果我手动选择一个边缘,然后按下按钮,边缘保持选中状态。我不知道还有其他方法可以做到这一点。这https://github.com/almende/vis/issues/1670建议使用 visSelectEdges 并将 id 设置为 NULL 但这也没有效果。有任何想法吗?