今天刚好有空,帮您解答一下吧:
要求是:“圆圈大小代表数量,直线长短代表关系远近。”
附件是代码,数据和执行结果
1、首先您得有节点信息文件nodes.csv和边的信息文件links.csv。
上述两个文件我随便设了一下参数。下载后把上述两个文件拷贝到E盘根目录下。
2、然后创建图对象。
3、最后画图。
“圆圈大小代表数量”,设置节点的大小=NodesProperty
“直线长短代表关系远近”,设置画图的方式为:layout_with_kk
这样就可以了。
#Start here:
#load data:
require(igraph);
mypath<-"E:";
edges_data<-"links.csv";
vertexs_data<-"nodes.csv";
edges_data<-paste(mypath,edges_data,sep="\\");
vertexs_data<-paste(mypath,vertexs_data,sep="\\");
links<-read.csv(edges_data,header=T,as.is=T);
nodes<-read.csv(vertexs_data,header=T,as.is=T);
#create graph
net<-graph_from_data_frame(d=links,directed=FALSE,vertices=nodes);
#plot graph
set.seed(2017);
plot(net,main="An Example",
vertex.label.color="black",
vertex.color="white",
vertex.size = V(net)$NodesProperty*20,
edge.width=E(net)$weight,
layout=layout_with_kk
);
# End