您好,登錄后才能下訂單哦!
如何理解R語言做網(wǎng)絡(luò)圖的分析,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
1、一個(gè)包括一列數(shù)據(jù)的數(shù)據(jù)框,每一行是各個(gè)節(jié)點(diǎn)的名稱
2、一個(gè)包含兩列數(shù)據(jù)的數(shù)據(jù)框,每一行代表節(jié)點(diǎn)節(jié)點(diǎn)之間的連線
> nodes<-data.frame(node=c("A","B","C","D"))
> edges<-data.frame(node1=c("A","A","A","B","B","C"),
+ node2=c("B","C","D","C","D","D"))
> nodes
node
1 A
2 B
3 C
4 D
> edges
node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D
>
library(ggraph)
library(igraph)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
給節(jié)點(diǎn)添加一列分組信息,給每個(gè)節(jié)點(diǎn)一個(gè)數(shù)值,用來映射節(jié)點(diǎn)大小。
nodes$Group<-c("group_1","group_1","group_2","group_2")
nodes$Size<-c(5,15,10,18)
nodes$Name<-nodes$node
給每條邊添加顏色和粗細(xì)的映射數(shù)值
edges$color<-sample(seq(0,1,by=0.01),6)
edges$width<-sample(1:100,6)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))
邊的漸變色深藍(lán)到淺藍(lán)不太好看,換!加上語句
scale_edge_color_continuous(low = "cyan",high = "red")
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")
每個(gè)節(jié)點(diǎn)的點(diǎn)太小了,增大!加上語句
scale_size_area(max_size = 30)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)
點(diǎn)的圖例太大了,占了其他圖例的位置,不要他了!加上語句
guides(size=F)
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)
這里遇到一個(gè)問題是:有沒有辦法改變圖例中點(diǎn)的大小呢?
新學(xué)到的:還可以改變圖例的前后順序,添加語句
guides(color=guide_legend(order=3))
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)+
guides(color=guide_legend(order=3))
雖然點(diǎn)大小的圖例刪掉了,但是他應(yīng)該還是站著位置呢!如果想要把顏色圖例設(shè)置為最后可能得把order設(shè)置為4。
有的節(jié)點(diǎn)超出了繪圖邊界,可以通過修改x和y軸的范圍來調(diào)整,加上命令
theme_bw()
就可以顯示出坐標(biāo)軸的范圍
ggraph(net)+
geom_edge_link(aes(edge_width=width,edge_color=color))+
geom_node_point(aes(size=Size,color=Group))+
geom_node_text(aes(label=Name))+
scale_edge_color_continuous(low = "cyan",high = "red")+
scale_size_area(max_size = 30)+
guides(size=F)+
guides(color=guide_legend(order=3))+
theme_bw()+
xlim(-0.8,0.8)+ylim(-0.8,0.8)
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。