使用facet_edges()

时间:2019-04-26 08:10:01

标签: r ggraph tidygraph

我正在使用ggraph绘制不同预算期(财政年度)的tidygraph网络图。在这种情况下,节点是政府部门。政府部门与部长的关系随着政府的来临而变化。每个预算期的网络图显示了当前的行政命令。我要做的是显示部门预算在不同预算期间如何变化。这表明政府的工作重点是什么。

使用gagaph中的facet_edges(),我可以绘制每个预算期的网络。但是,我无法通过每个时期(方面)的预算分配来确定节点的大小。如果删除facet_edges,也无法为网络图提供标准布局。我试图在此处重现虚拟数据的问题:

require(tidyverse)

edge <- data.frame(from = c(sample(1:10, 5, replace=TRUE), sample(1:10, 5, replace = TRUE), sample(1:10, 5, replace=TRUE),sample(1:10, 5 , replace=TRUE)),
               to = c(sample(11:20, 5, replace=TRUE), sample(11:20, 5, replace = TRUE), sample(11:20, 5, replace=TRUE),sample(11:20, 5 , replace=TRUE)),
               period = c(2010:2013,2010:2013,2010:2013,2010:2013,2010:2013)) %>%
filter(from != to)

node <- edge %>% 
        select(from,to) %>% 
        gather(key, id, c(to, from)) %>% 
        select(-key)

budget <- data.frame(FY_2010 = c(seq(100,134,2)) * 1.1, 
                 FY_2011 = c(seq(110,144,2)) * 0.9, 
                 FY_2012 = c(seq(120,154,2)) * 1.2, 
                 FY_2013 = c(seq(100,134,2)) * 1.4)  

nodes <- bind_cols(node,budget)

require(tidygraph)

net <- igraph::graph_from_data_frame(edge, vertices = nodes, directed = F)

net <- as_tbl_graph(net)

require(ggraph)

ggraph(net)+
geom_edge_link()+
geom_node_point(aes(size = FY_2010))+
theme_graph()+

facet_edges(〜句点)

因此,此图绘制的是带有边线的图,但我不知道如何按FY_2010:FY_2013中的值来调整节点的大小。每个方面的节点数量应略有不同。

0 个答案:

没有答案