作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试使用 ggnet2
绘制图表.为此,我使用以下代码:
library(igraph)
lapply(c("sna", "intergraph", "GGally", "igraph", "network"), require, character.only=T)
data <- read.table('CA-CondMat.txt',sep="\t",header=TRUE)
g = graph.data.frame(data, directed = TRUE)
N = vcount(g)
E = ecount(g)
perc = 0.1
d.g = degree(g,mode='all')/N
new_nodes = sample.int(N,ceiling(perc*N),replace=FALSE,prob =d.g)
new_g = subgraph(g,new_nodes)
dg = degree(g,mode='all')
prob = dg/sum(dg)
png('example_plot2.png')
ggnet2(new_g, size = "degree", node.color = "steelblue", size.cut = 4,
edge.size = 1, edge.color="grey" )
dev.off()
igraph
.
最佳答案
我喜欢挑战,图表总是很有趣。我认为这就是您想要的(我修改了我的原始文件以使用您稍后在处理它时提供的文件):
在我的代码中 clr-degree
是度数的一半,因为这个文件只有对称链接,没有黑色和绿色节点看起来很无聊。
我还为所有调用添加了库前缀,以便我可以看到正在使用什么网络库(igraph、network 等)中的内容。这些库中有很多重叠和相互依赖。
请注意,此代码应映射 clr-degree
至 0-1
至 black
, 学位 2
至 red
, 学位 3
至 green
, 和 >=4
至 red
:
library(ggplot2)
library(igraph)
library(GGally)
# the following libraries will be required too - used internally
lapply(c("sna", "scales","intergraph", "network"),require, character.only=T)
set.seed(1234)
# data from https://snap.stanford.edu/data/ca-CondMat.html
data <- read.table('CA-CondMat.txt',sep="")
g = igraph::graph.data.frame(data, directed = TRUE)
N = vcount(g)
E = ecount(g)
d.g = igraph::degree(g,mode='all')/N
# Use new smaller subgraph
perc = 0.05
new_nodes = sample.int(N,ceiling(perc*N),replace=FALSE,prob =d.g)
new_g = igraph::subgraph(g,new_nodes)
dg = igraph::degree(new_g,mode='all')
dg <- dg/2 # for some reason there are only even degrees in this file - so we divide by 2
clrvek = pmax(0,pmin(dg,4))
clrnames = c("0"="lightgrey","1"="black", "2"="blue", "3"="green", "4"="red")
#png('example_plot2.png')
GGally::ggnet2(new_g,
color.legend="clr-degree",palette=clrnames,color=clrvek,
size = "degree",
edge.size = 1, edge.color="grey",
legend.position = "bottom") + coord_equal()
#dev.off()
关于r - 使用 ggnet2 在 R 中按度数着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37351411/
我有一个对称矩阵,表示参与者之间的联系程度。我想取消未连接的顶点。 igraph 中包含的函数(如 delete_edges 或 delete_vertices)不适用于我的情况。我分享我的代码 #i
我是一名优秀的程序员,十分优秀!