- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找到了一种将 igraph 转换为 visNetwork 的方法(请参阅 Interactive arules with arulesViz and visNetwork )。假设从 igraph 转换为 visNetwork 之前和之后应该是一样的,但是我的结果显示转换为 visNetwork 后,结果是不同的。
我将尝试使用示例数据来演示该问题 data("Groceries")
来自 Library(arules)
.
#Pre-defined library
library(arules)
library(arulesViz)
library(visNetwork)
library(igraph)
#Get sample data & get association rules
data("Groceries")
rules <- apriori(Groceries, parameter=list(support=0.01, confidence=0.4))
rules <- head(sort(rules, by="lift"), 10)
#Convert rules to data.table
library(data.table)
rules_dt <- data.table( lhs = labels( lhs(rules) ),
rhs = labels( rhs(rules) ),
quality(rules) )[ order(-lift), ]
ig <- plot(rules, method="graph", control=list(type="items"))
tf <- tempfile( )
saveAsGraph(rules, file = tf, format = "dot" )
# clean up temp file if desired
#unlink(tf)
# Convert igraph to dataframe
ig_df <- as_data_frame(ig, what = "both")
# Plot visNetwork
visNetwork(
nodes = data.frame(
id = ig_df$vertices$name
,value = ig_df$vertices$lift # could change to lift or confidence
,title = ifelse(ig_df$vertices$label == "",ig_df$vertices$name,
ig_df$vertices$label)
,ig_df$vertices
),
edges = ig_df$edges
) %>%
visEdges(arrows ="to") %>%
visOptions( highlightNearest = T )
ig_df <- get.data.frame( ig, what = "both" )
,我在
ig_df$vertices
上发现了一些奇怪的东西表,从
as_data_frame
生成函数来自
library(igraph)
.
NA
对于所有变量(即“支持”、“置信度”、“提升”和“计数”),更准确地说是
ig_df$vertices
中列“支持”、“置信度”、“提升”和“计数”的维度向上移动一排!如果我错了请纠正我..
as_data_frame
从 igraph 中提取所有数据并将这些数据转换为数据帧,然后使用提取的数据帧中的数据绘制 visNetwork。但由于
提取问题 使用时
as_data_frame
从igraph中提取数据,所以结果也不同。
最佳答案
一年后......但我已经输入了所有内容,所以也可以。
如果我理解正确,这就是你麻烦的根源——value = ig_df$vertices$lift # could change to lift or confidence
最简单的解决方案是将您的提升值分配给 size
因为在 visNetwork size: Number. Default to 25. The size is used to determine the size of node shapes that do not have the label inside of them. These shapes are: image, circularImage, diamond, dot, star, triangle, triangleDown, square and icon
.我不确定如何 values
在这里工作,但我认为你可以使用 values
如果你也提供合适的scaling
.
https://www.rdocumentation.org/packages/visNetwork/versions/2.0.9/topics/visNodes
所以解决办法是:size = ig_df$vertices$lift # could change to lift or confidence
请注意,具有 NA 提升的节点默认设置为大小 25,而使用大小为 2 或 3 的提升您几乎看不到节点。您可以按指数方式提高提升大小,这将增加节点的大小并夸大提升的差异。
ig_df <- as_data_frame(ig, what = "both")
ig_df$vertices["lift"] <- ig_df$vertices["lift"] ** 3
关于r 将 igraph 转换为 visNetwork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54328960/
关于将igraph与visNetwork结合,我有一个非常简单的问题。我想用visEdges(value = E(graph)$ weight)加权边缘,但这不起作用。 这是一个说明问题的玩具示例:
这个问题已经有答案了: newline in [duplicate] (9 个回答) 已关闭 6 年前。 在 R 中,如何在 visNetwork 中拥有多行标题? \n似乎没有解决方案: requ
这个问题已经有答案了: newline in [duplicate] (9 个回答) 已关闭 6 年前。 在 R 中,如何在 visNetwork 中拥有多行标题? \n似乎没有解决方案: requ
引用我之前的一篇文章,其中包含完整的可重现代码:VisNetwork from IGraph - Can't Implement Cluster Colors to Vertices 我的目标是更改
我已经使用 Shiny 中的 visNetwork 包构建了我的网络。我想单击一个节点,然后从数据框中显示有关该节点的信息。我已经能够使用单击和近点函数对散点图执行此操作,例如此处显示的 Shiny
我正在尝试使用 visNetwork 包可视化我的网络。但我发现自己对控制节点大小和边宽完全感到困惑。在第一个示例中,我在节点中设置了 value=1,在边缘中设置了 value=0.1。在第二个示例
我想使用 visNetwork 包绘制网络。我希望我的节点在所有不同的网络中对相同的组使用相同的颜色。所以我要 A组->蓝色 B组->黄色 C 组 -> 红色。 这是前 3 个默认颜色。这是第一个简单
我有使用“igraph”库制作的网络图: library(tidyverse) library(igraph) set.seed(123) n=15 data = data.frame(tibble(
我想并排放置两个 visNetwork 图以进行视觉比较。使用带有 par() 或 layout() 的 igraph 可以进行多图定位。有没有办法为 visNetwork 做到这一点?解决方法/问题
我找到了一种将 igraph 转换为 visNetwork 的方法(请参阅 Interactive arules with arulesViz and visNetwork )。假设从 igraph
我一直有这个问题。我只能在一张图中获得一个或另一个但不能同时获得两个选项。下面是代码,我从@lukeA 那里得到了很多帮助,让我走到了这一步。 我有下图,我可以在其中将簇颜色输入 visNetwork
我正在尝试在 visNetwork 节点中嵌入一个操作按钮,以便可以通过单击工具提示中的按钮来启动操作。 我可以让按钮出现在节点标签中,但单击它时不会触发任何事件。我哪里出错了? 最小示例: libr
这是一个更普遍的问题:VisNetwork from IGraph - Can't Implement Cluster Colors to Vertices 我有一个 igraph,已转换为 visN
我开始使用名为 visNetwork 的软件包,我觉得它在未来的用户界面使用方面有很大的潜力。 尽管如此,我还是遇到了一些麻烦。我创建了一个 igraph,并应用了聚类算法,特别是 fastgreed
我正在查看美国参议员的 Twitter 网络。我希望能够选择一个参议员(使用 nodeIdSelection)并仅突出显示连接到该选定 Node 的 Node 并仅突出显示这些连接的边缘(这是我无法弄
我使用了此 question 中给出的示例但我想调整它以显示已选择节点的数据(不是所有节点,但只有这个节点)并且也不使用操作按钮,以便在我单击节点时立即显示数据。 我尝试了很多解决方案都没有成功。 当
我正在尝试使用 visNetwork 制作一个 Shiny 的交互式网络/思维导图应用程序。 visNetwork 允许交互式创建和操作网络图,如何将这些结果保存在 R data.frame 中? 我
我想将节点的位置固定在 (1,0)、(0,1)、(-1,0)、(0,-1) 和 (0,0) 处。然而,它不起作用,我的Java知识为零(看来here是关于Java代码的问题)。 有人可以帮忙吗?这是一
我正在探索 visNetwork,无法弄清楚为什么这个不显示边缘 library(visNetwork) nodes=data.frame(node=c('m1','m2','n1','n2')) a
给定的 visNetwork 脚本创建如下快照中的 visNetwork 图。我的问题是,如果您看到第一个和第二个节点,则两者之间的边缘是弯曲的。有没有一种方法可以在不改变边缘长度的情况下使边缘笔直。
我是一名优秀的程序员,十分优秀!