研究了一个下午,耽搁了吃饭终于做出了图,主要是看到了一个博主的文章,链接如下
https://blog.csdn.net/kl28978113/article/details/84336795
data <- read.csv("凤凰山暖季node.csv")
data1 <- read.csv("凤凰山暖季link.csv")
forceNetwork(
#边数据集
Links = data1,
# 节点数据集
Nodes = data,
#边数据集中起点对应的列
Source = "source",
# 边数据集中终点对应的列
Target = "target",
# 边数据集中边的宽度对应的列
Value = "distance",
# 节点数据集中节点名称对应的列
NodeID = "name",
# 节点数据集中节点分组对应的列
Group = "degree",
#节点数据集中节点大小对应的列
Nodesize="centrality10",
#透明度为0
opacity = 1,
#能用鼠标缩放
zoom = TRUE,
# 节点名称的字号
fontSize = 17,
# 图是否显示图例
legend=T,
#link的长短以distance表示
linkDistance = networkD3::JS("function(d) { return d.value*100; }"),
#link的粗细以1/distance即weight表示
linkWidth = networkD3::JS("function(d) { return 1/d.value; }"),
# 节点斥力大小(负值越大斥力越大),斥力越大图形越大越宽广
charge=-1000,
# 节点绝对大小
radiusCalculation = JS("d.nodesize"),
# 不同的分组用不同的颜色表示
colourScale = JS("d3.scaleOrdinal(d3.schemeCategory20);"),
#节点的名称透明度为0,即全部直接显示在节点上
opacityNoHover = 1,
# 图宽度
width = 500,
# 图高度
height = 500,
)
然后得到了效果图~
网友评论