ファセットを使用してグラフをプロットすると、パネル間でエッジが異なる場合があります。パネルは自動的にアルファベット順に並べ替えられます(ggplot
で習慣的です)。単純な例は:これは大きいggraphでのファセットの順序の制御
library(igraph)
library(ggraph)
g <- make_empty_graph() +
vertices(1:2) +
edges(1:2, 2:1, g = c('b', 'a'))
ggraph(g, 'kk') +
geom_edge_link(arrow = grid::arrow()) +
geom_node_label(aes(label = name)) +
facet_edges(~g)
、ノード位置はpreseveredされるが、エッジがg
異なり。
ただし、ファセットが表示される順序を選択したいと思います。したがって、この場合は、最初にb
、次にa
というように、私は上記のグラフを作成している間に注文しました。
ggplot
では、因子g
の順番が変わります。しかし、レイアウトを作成することはg
は表示されません。
create_layout(g, 'kk')
x y name ggraph.orig_index circular ggraph.index 1 -0.9021575 -1.410825e+00 1 1 FALSE 1 2 -1.0000000 1.224606e-16 2 2 FALSE 2
縁が手動要因に属性を変更し、順序を変更しますが、ラベルは、数値に強制されています
g2 <- make_empty_graph() +
vertices(1:2) +
edges(1:2, 2:1, g = factor(c('b', 'a'), levels = c('b', 'a')))
ggraph(g2, 'kk') +
geom_edge_link(arrow = grid::arrow()) +
geom_node_label(aes(label = name)) +
facet_edges(~g)
ファセットの注文?
おかげでトーマスと
vertex.attributes(graph)$factor_attr <- value
または同等に!私はigraphと結婚していませんが、私はCRANのリリースでこれを使うつもりです。だから、今ではちょっと早すぎます。私は今後の開発を見据えて、そのigraphコードを試してみましょう! – Axeman
Tidygraphは、次回のdplyrリリース後の夏にCRANでリリースされる予定であるため、時間枠によっては問題ではない可能性があります – ThomasP85