ggplot2棒グラフの棒を最大から最小の順に並べたい場合は、通常、棒カテゴリの因子レベルを次のように更新します。
one_group <- data.frame(
height = runif(5),
category = gl(5, 1)
)
o <- order(one_group$height, decreasing = TRUE)
one_group$category <- factor(one_group$category, levels = one_group$category[o])
p_one_group <- ggplot(one_group, aes(category, height)) +
geom_bar(stat = "identity")
p_one_group
さまざまなファセットに必要な棒グラフのグループがいくつかあり、各ファセットに最大から最小(および異なるx軸)の順に棒が並べられている場合、この手法は機能しなくなります。
いくつかのサンプルデータが与えられた
two_groups <- data.frame(
height = runif(10),
category = gl(5, 2),
group = gl(2, 1, 10, labels = letters[1:2])
)
とプロットコード
p_two_groups <- ggplot(two_groups, aes(category, height)) +
geom_bar(stat = "identity") +
facet_grid(. ~ group, scales = "free_x")
p_two_groups
バーの注文を正しくするために何をする必要がありますか?
それが役立つ場合、解決すべき同等の問題は次のとおりです。ファセットを実行した後、ファクターレベルを更新するにはどうすればよいですか?