如何解决ggnetwork中的自定义布局
我有一个具有自定义布局的网络。我想使用customer_id,Firstname,Lastname,Email,Phone,amount(bydate) :
111-111-111 John,smith,johnsmith@bla.com,11111111,(10/10/2019 : 100 | 10/10/2019 : 90)
(未显示,请参见vignette)对其进行自定义。我可以将节点位置传递到ggnetwork
,但是如何传递箭头(边缘)位置?
最小示例:
ggnetwork (ggplot)
ggnet
ggnetwork
解决方法
这有效:
# Get edges from network
library(dplyr)
# From https://stackoverflow.com/questions/42960248/how-to-plot-networks-over-a-map-with-the-least-overlap#answer-43049177
networkdata <- sapply(net1$mel,function(x)
c('id_inl' = x$inl,'id_outl' = x$outl,'weight' = x$atl$weights)) %>%
t %>% as_tibble()
posxyOrig<-finalxy[networkdata$id_outl,]
posxyTarg<-finalxy[networkdata$id_inl,]
colnames(posxyOrig)<-c("xorig","yorig")
colnames(posxyTarg)<-c("xtarg","ytarg")
posData<-cbind(networkdata,posxyOrig,posxyTarg )
ggplot(net1 )+
geom_edges(data=posData,aes(x = xorig,y = yorig,xend = xtarg,yend = ytarg),arrow = arrow(length = unit(10,"pt"),type = "closed")
) +
geom_nodes(aes(x=xpos,y=ypos ),size = 4)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。