Я использую ggraph для построения диаграмм сети тидиграфа для разных бюджетных периодов (финансовых лет).Узлами в этом случае являются государственные ведомства.Как правительственные ведомства относятся к изменениям министров, когда правительства приходят и уходят.Сетевые диаграммы показывают для каждого бюджетного периода показывает текущий административный порядок.Я хочу показать, как бюджеты отделов меняются в разные бюджетные периоды.Это показывает, каковы приоритеты для правительства.
Используя facet_edges () в ggaph, я могу строить сети для каждого бюджетного периода.Однако я не могу определить размер узлов по распределению бюджета для каждого периода (аспект).Также я не могу иметь стандартную компоновку для сетевых диаграмм, если я опущу 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 (~ period)
Так что это строит графики с гранями по краям, но я не знаю, как определить размеры узлов по значениям в FY_2010: FY_2013.Каждый фасет должен иметь немного разные размеры узлов в зависимости от количества.