Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用图解法绘制IGRAPHE网络_R_Plot_Igraph_Diagrammer - Fatal编程技术网

用图解法绘制IGRAPHE网络

用图解法绘制IGRAPHE网络,r,plot,igraph,diagrammer,R,Plot,Igraph,Diagrammer,我想创建这个简单的igraph绘图: library(igraph) mydata <- data.table(from=c("John", "John", "Jim"),to=c("John", "Jim", "Jack")) mygraph <- graph_from_data_frame(d=mydata, directed=T) plot(mygraph, vertex.label.dist=2) 和其他组合或命令图,但我找不到正确的方法 我怎么做 我提出了一个新问题,直接

我想创建这个简单的igraph绘图:

library(igraph)
mydata <- data.table(from=c("John", "John", "Jim"),to=c("John", "Jim", "Jack"))
mygraph <- graph_from_data_frame(d=mydata, directed=T)
plot(mygraph, vertex.label.dist=2)
和其他组合或命令图,但我找不到正确的方法

我怎么做

我提出了一个新问题,直接使用DiagrammeR获得相同的结果,而不使用igraph:


似乎有两件事正在发生

library(igraph)
library(DiagrammeR)

mydata <- data.table(from=c("John", "John", "Jim"),to=c("John", "Jim", "Jack"))
mygraph <- graph_from_data_frame(d=mydata, directed=TRUE)
没有警告和渲染

mygraph2 <- from_igraph(mygraph)
render_graph(mygraph2)

似乎有两件事正在发生

library(igraph)
library(DiagrammeR)

mydata <- data.table(from=c("John", "John", "Jim"),to=c("John", "Jim", "Jack"))
mygraph <- graph_from_data_frame(d=mydata, directed=TRUE)
没有警告和渲染

mygraph2 <- from_igraph(mygraph)
render_graph(mygraph2)

在你的过程中有两个问题

第一个是来自_igraph的命令。我不确定,可能是软件包中的一个bug,可能是我的设置有问题,但我无法使用它来获得想要的结果。下面的代码在我的机器上运行

mygraph3 <- from_adj_matrix(as.matrix(get.adjacency(mygraph)), mode = "directed")

在你的过程中有两个问题

第一个是来自_igraph的命令。我不确定,可能是软件包中的一个bug,可能是我的设置有问题,但我无法使用它来获得想要的结果。下面的代码在我的机器上运行

mygraph3 <- from_adj_matrix(as.matrix(get.adjacency(mygraph)), mode = "directed")

您想要渲染图吗?您想要渲染图吗?这样做更好吗?还是尝试直接使用Diagrammer创建图,而不使用igraph?我需要从大型数据集创建图。我第一次尝试使用igraph,因为它会自动将节点放置在一个好的位置。这是我在教程中读到的。但我不知道这两种方法都有什么好处或坏处。虽然我使用的软件包越少越好,但也许我不需要IGRAPHE步骤。如果你的图形很大,那么自动生成图形而不是键入graphviz代码会很有用,我不知道generate_dot,所以我可以自己使用它来生成初始graphviz代码,然后,我可以手动更改,直接从mydata生成图形的命令是什么?一个data.frame,其中包含列from和to?这样做更好吗?还是尝试直接使用Diagrammer创建图形,而不使用igraph?我需要从大型数据集创建图形。我第一次尝试使用igraph,因为它会自动将节点放置在一个好的位置。这是我在教程中读到的。但我不知道这两种方法都有什么好处或坏处。虽然我使用的软件包越少越好,但也许我不需要IGRAPHE步骤。如果你的图形很大,那么自动生成图形而不是键入graphviz代码会很有用,我不知道generate_dot,所以我可以自己使用它来生成初始graphviz代码,然后我可以手动更改,直接从mydata a data.frame生成图形的命令是什么?如果我们将您的方法的结果与user20650的方法进行比较,您的方法不会生成箭头。设置模式=直接从_adj_matrix@skan我在帖子中纠正了那个错误。要从相邻矩阵生成有向图,参数模式必须设置为有向,然后它将为您提供有向图。感谢您指出这一点。直接从mydata生成图形的命令是什么?data.frame中包含列from和to?在节点中添加标签也很好。如果我们将您的方法的结果与user20650的方法进行比较,您的不产生箭头。设置模式=从_adj定向_matrix@skan我在帖子中纠正了那个错误。要从相邻矩阵生成有向图,参数模式必须设置为有向,然后它将为您提供有向图。感谢您指出这一点。直接从mydata生成图形的命令是什么?一个data.frame,其中包含列from和to?在节点内添加标签也很好。
grViz(generate_dot(mygraph2))
mygraph3 <- from_adj_matrix(as.matrix(get.adjacency(mygraph)), mode = "directed")
render_graph(mygraph3)