R/Javascript:崩溃和扩展的网络

2024-04-25

我正在使用 R 编程语言。

我有以下图形网络数据:

library(igraph)
library(visNetwork)

from <- c("Boss", "TeamA", "TeamA", "TeamA", "SubteamA1", "SubteamA1", "SubteamA1", "SubteamA2", "SubteamA2", "SubteamA2", "SubteamA3", "SubteamA3", "SubteamA3")
to <- c("TeamA", "SubteamA1", "SubteamA2", "SubteamA3", "employee1", "employee2", "employee3", "employee4", "employee5", "employee6", "employee7", "employee8", "employee9")
a1 = data_frame <- data.frame(from, to)


from <- c("Boss", "TeamB", "TeamB", "TeamB", "SubteamB1", "SubteamB1", "SubteamB1", "SubteamB2", "SubteamB2", "SubteamB2", "SubteamB3", "SubteamB3", "SubteamB3")
to <- c("TeamB", "SubteamB1", "SubteamB2", "SubteamB3", "employee10", "employee11", "employee12", "employee13", "employee14", "employee15", "employee16", "employee17", "employee18")
a2 = data_frame <- data.frame(from, to)


final = rbind(a1, a2)

然后我将其制作成图形网络并将其可视化:

# Convert the data frame to an igraph object
g <- graph_from_data_frame(final, directed=FALSE)

# Plot the graph
plot(g)

# Optional visualization
visIgraph(g)

visIgraph(g) %>%
  visHierarchicalLayout(direction = "LR") %>%
  visInteraction(navigation = "zoom") %>%
  visInteraction(navigation = "drag") %>%
  visOptions(selectedBy = "to", 
             highlightNearest = TRUE, 
             nodesIdSelection = TRUE) 

我的问题:我一直在尝试寻找是否有某种方法,当你运行图表时,它只在屏幕上显示一个节点(老板节点) - 当你点击老板节点时,它会扩展到 3 个节点(老板,团队 a) ,团队 b),如果您单击“团队 a”,它会展开为子团队...但如果您双击,它会折叠回上一层。

我能找到的最接近的东西在这里:https://github.com/datastorm-open/visNetwork/issues/307 https://github.com/datastorm-open/visNetwork/issues/307

但是在 R/javascript 中是否有一些更简单的方法可以做到这一点?最后,最终输出应该是一个可以离线查看的(独立)HTML 文件。

Thanks!

Note:

  • 我对闪亮的网络应用程序不感兴趣。
  • 我会寻找这样的东西:可折叠力导向图上的 D3.js 标题 https://stackoverflow.com/questions/26747638/d3-js-titles-on-collapsible-force-directed-graph , 如何在 d3.js 中折叠(显示和隐藏)父节点的子节点? https://stackoverflow.com/questions/57175630/how-can-i-collapse-show-and-hide-the-child-nodes-of-a-parent-node-in-d3-js, 通过选择器以编程方式访问 d3.js v6 可折叠树中的数据 https://stackoverflow.com/questions/67596316/programmatic-access-of-data-in-d3-js-v6-collapsible-tree-via-selectors, R collapsibleTree:在工具提示中动态添加图像 https://stackoverflow.com/questions/47828655/r-collapsibletree-add-images-dynamically-in-tooltip
  • 如果它有一个搜索栏和一个“缩小”选项,这将非常有趣:https://search.r-project.org/CRAN/refmans/collapsibleTree/html/collapsibleTreeNetwork.html https://search.r-project.org/CRAN/refmans/collapsibleTree/html/collapsibleTreeNetwork.html , https://cran.r-project.org/web/packages/collapsibleTree/readme/README.html https://cran.r-project.org/web/packages/collapsibleTree/readme/README.html, https://adeelk93.github.io/collapsibleTree/ https://adeelk93.github.io/collapsibleTree/

一个选项可以使用visOptionscollapse争论:

:自定义选项。只是一个布尔值或一个命名列表。坍塌 / 使用双击展开节点。在开发中。

因此,这使得双击节点时可以折叠。您可以更改形状,使其在折叠时具有不同的形状。这是一些可重现的代码:

library(igraph)
library(visNetwork)

visIgraph(g) %>%
  visInteraction(navigation = "zoom") %>%
  visInteraction(navigation = "drag") %>%
  visOptions(collapse = list(enabled = TRUE, keepCoord = TRUE, clusterOptions = list(shape = "circle"))) 

Created on 2023-01-30 with reprex v2.0.2 https://reprex.tidyverse.org

当点击你的老板节点时:

或者以 TeamS 为例:


  1. 是否可以删除每个节点上的“集群”标签?

你可以添加label = FALSE像这样:

visIgraph(g) %>%
  visInteraction(navigation = "zoom") %>%
  visInteraction(navigation = "drag") %>%
  visOptions(collapse = list(enabled = TRUE, keepCoord = TRUE, clusterOptions = list(shape = "circle", label = FALSE)))

B 队示例:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R/Javascript:崩溃和扩展的网络 的相关文章

  • 在不同窗口的上下文中执行函数?

    假设顶部窗口中有一个功能 例如 function z alert window name 我们还假设该文档中有一个 iframe 同源 顶部窗口中的函数是否可以在另一个窗口的上下文中执行此函数 以便它显示 iframe 的名称而不是顶部窗口
  • 如何使用 ASP.Net 中的 PageMethods 将多维数组从 Javascript 传递到服务器

    我有一些 li 我的 HTML 页面中的项目如下 li li class ui state default Item 2 li li class ui state default Item 3 li li class ui state de
  • 通过排队预加载图像?

    我正在寻找一种预加载特定图像并将其添加到队列中的方法 这是我目前所处的位置 http shivimpanim org testsite imageloader html http shivimpanim org testsite image
  • 如何在R中使用twoord.plot()绘制多个图(分面)?

    我的数据看起来像这样 height lt c 1 2 3 4 2 4 6 8 weight lt c 12 13 14 15 22 23 24 25 person lt c Jack Jim Jill Tess Jack Jim Jill
  • 运行玩笑测试时,Firebase 在signInAnonymously() 上抛出“auth/network-request-failed”

    我正在使用 firebase 为我的应用程序 使用 create react app 构建 编写一些测试 并且我正在尝试匿名登录我的测试数据库 但认证失败 然而 所有其他 Firebase 操作 CRUD 都工作得很好 我还可以从在浏览器中
  • 如何从数组中删除空数组值(“”)?

    我有一个二维数组 是用 jQuery 从 html 表生成的 但有些值是空的 所以 被展示 如何删除空值 table tr th 1A th th 1B th th 1C th tr tr td 2A td td 2B td td 2C t
  • R中向后历史搜索

    通常在我的机器中 我可以通过键入我想要向后搜索的命令的所需第一个字符来向后搜索 R 的历史记录 然后使用 PageUp 或 PageDown 键浏览 R 历史记录中的所有条目 我现在在远程集群中以访客身份工作 此选项在本机上不可用 有谁知道
  • 如何将 nlsList 中的系数获取到数据帧中?

    有没有办法只从 nlsList 中提取估计值 样本数据 library nlme dat lt read table text time gluc starch solka 1 6 32 7 51 1 95 2 20 11 25 49 6
  • jQuery - 如何确定哪个链接被点击

    我有一个简单的 PHP 代码 可以生成n以下代码的副本 p class center Click Here to See Data p div class divSDB L2 div 它是使用 PHP 生成的 因此副本的数量预先未知 在另一
  • 如何访问/记住闪亮中未选中的值?

    我正在摆弄 R 中的闪亮应用程序 该应用程序有 选择列表Input A 主要组 具有可能的值 A B 和 或C 一组复选框Input b 子群 它们是 通过选择动态填充Input A列表 chkb a 和 chkb b 代表 A c d 代
  • 强制上下文

    我有一个类 其中有一个私有属性和一个公共访问方法 Person function this Name asd var public new Object public Name function value if value undefin
  • 使用 RSelenium 下载嵌入到框架中的文件

    我正在参与一个项目 其中有一个网页 我需要单击该网页才能获取 pdf 文件 该文件出现在同一页面内的新窗口中 我认为是 iframe 然后我需要单击一个按钮来下载文件 我正在使用的代码如下 library wdman library RSe
  • Select2 基本示例不起作用

    我想得到select2使用 symfony2 脚本的库 我正在尝试实现提供的基本示例https select2 github io examples html https select2 github io examples html pa
  • Javascript `new` 运算符和原型

    假设我们创建一个名为 Shape 的函数 并在其原型上添加属性 name 和方法 toString var Shape function Shape prototype name Shape Shape prototype toString
  • PHP/Web 脚本保护

    我想用 PHP 和 javascript 编写一个脚本 并以某种方式保护我的源代码 以便我可以出售我的脚本 我正在寻找如何保护我的脚本的想法 如果我将其出售给某人 我如何阻止该人将其作为他们的产品重新分发 我知道有ZEND和ionCube
  • 有人可以解释以下涉及 Javascript 对象的双重赋值吗?

    这个问题在这里已经有答案了 var foo n 1 var bar foo foo x foo n 2 console log foo n 2 console log bar n 1 x n 2 有人能解释一下第三行发生了什么吗 线路foo
  • 如何在 R 中验证日期

    我有一个格式为的日期dd mm yyyy HH mm ss验证该日期的最佳和最简单的方法是什么 I tried d lt format Date date format d m Y H M S 但是当非法日期过去时如何捕获错误呢 简单的方法
  • 如何获取firestore集合下的文档数量? [复制]

    这个问题在这里已经有答案了 我想获取 firestore 集合中的文档总数 我正在制作一个论坛应用程序 所以我想显示每个讨论中当前的评论量 有类似的东西db collection comments get lenght或类似的东西 随着si
  • 未捕获的类型错误:未定义不是 indexOf 上的函数

    我目前有此代码来检查特定 ID 的网站 URL GET 选项 但每当运行此代码时 我都会收到一个奇怪的错误 Uncaught TypeError Undefined is not a function 这是我的代码 如果我能得到关于这个问题
  • setInterval 会导致浏览器挂起吗?

    几年前 我被警告不要使用setInterval很长一段时间 因为如果被调用的函数运行时间超过指定的时间间隔 可能会导致浏览器挂起 然后无法跟上 setInterval function foo bar i 1 现在 我知道在循环中添加大量代

随机推荐