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
用R语言绘制大型网络_R_Plot_Igraph - Fatal编程技术网

用R语言绘制大型网络

用R语言绘制大型网络,r,plot,igraph,R,Plot,Igraph,我有一个名为“WOS_graph”的图形数据集,它是一个相当大的数据集,有5291个,我绘制了数据,但在绘图中它似乎没有5291个顶点,它显示的较少,有人能帮我正确绘制吗 数据集也可在此处找到: 库(“igraphdata”) 图书馆(“igraph”) 图书馆(“网络”) 图书馆(“statnet”) nodeWOS观察力好!与5291顶点类似的任何顶点都不可见,但具有 只要做一点工作,你就能追踪到底发生了什么 首先,我想稍微调整一下你的布局。您已使用创建布局 l=layout.lgl(WOS

我有一个名为“WOS_graph”的图形数据集,它是一个相当大的数据集,有5291个,我绘制了数据,但在绘图中它似乎没有5291个顶点,它显示的较少,有人能帮我正确绘制吗

数据集也可在此处找到:

库(“igraphdata”)
图书馆(“igraph”)
图书馆(“网络”)
图书馆(“statnet”)

nodeWOS观察力好!与5291顶点类似的任何顶点都不可见,但具有 只要做一点工作,你就能追踪到底发生了什么

首先,我想稍微调整一下你的布局。您已使用创建布局

l=layout.lgl(WOS_graph)
我不想等那么久,所以我用了

set.seed(1234)
l = layout_with_lgl(WOS_graph, maxiter=20)
但是直接使用它会使情节难以分析,因为
绘图
重新缩放数据。引用帮助页面
?igraph.plotting

重新缩放
逻辑常数,是否将坐标重新缩放到 [-1,1]x[-1,1]间隔。
默认为TRUE时,将重新缩放布局

我希望布局中的值与打印的位置完全一致,以便重新缩放 我自己把布局调整到这个范围

l[,1] = 2* (l[,1] - min(l[,1])) / (max(l[,1]) - min(l[,1])) - 1
l[,2] = 2* (l[,2] - min(l[,2])) / (max(l[,2]) - min(l[,2])) - 1
现在,布局中的值将与图形上的打印位置相匹配。 但这些绘图位置看起来像什么

summary(l)
       V1                   V2            
 Min.   :-1.0000000   Min.   :-1.0000000  
 1st Qu.:-0.0006389   1st Qu.:-0.0009035  
 Median :-0.0000206   Median : 0.0000625  
 Mean   :-0.0066251   Mean   : 0.0028521  
 3rd Qu.: 0.0009063   3rd Qu.: 0.0002478  
 Max.   : 1.0000000   Max.   : 1.0000000 
请注意,虽然使用了全范围[-1,1],但大多数值都非常接近于零。我尝试了一下,为这次讨论找到了一个好的范围。你可以尝试其他范围,但在原点附近的一个小盒子里,我们可以看到

length(which(abs(l[,1]) < 0.005 & abs(l[,2]) < 0.005))
[1] 4852

如果你仔细看,你可以在图的中心看到一个红色的小盒子。该框包含4852个顶点。当然,当你像在这个图中那样以全尺寸绘制它们时,它们看起来都是以完全相同的速度,所以看起来像一个顶点

为了更好地了解这一点,让我们使用相同的布局,但放大到选定的范围[-0.005,0.005],即红色的小框

plot(WOS_graph, edge.color="gray60", pad=0.4,
    vertex.label=NA, layout=l, vertex.size=0.02,
    xlim=c(-0.005, 0.005), ylim=c(-0.005, 0.005))
title(main="Large Graph Layout - Zoomed", cex.main=1)
rect(-0.005, -0.005, 0.005, 0.005, border="red")

现在,您以前看到的顶点大多在屏幕外。确实可以看到一些边穿过此区域,连接屏幕外的顶点。但主要是,现在你可以看到,有很多顶点被塞进了这个小区域

plot(WOS_graph, edge.color="gray60", pad=0.4,
    vertex.label=NA, layout=l, vertex.size=4)
title(main="Large Graph Layout", cex.main=1)
rect(-0.005, -0.005, 0.005, 0.005, border="red", col="red")
plot(WOS_graph, edge.color="gray60", pad=0.4,
    vertex.label=NA, layout=l, vertex.size=0.02,
    xlim=c(-0.005, 0.005), ylim=c(-0.005, 0.005))
title(main="Large Graph Layout - Zoomed", cex.main=1)
rect(-0.005, -0.005, 0.005, 0.005, border="red")