1

私はそれが非常に単純であるように思われる何かをしようとしてきましたが、グループ化された geom_bar プロットを数値で並べ替えることができません。ここで他の質問を読むと、要因に並べ替えを使用することが提案されましたが、ここでは無視されているようです。ファセットが好きなので、可能であればこの質問のように grid.arrange を使用したくないのですが、他に何を試すべきかわかりません。提案は大歓迎です。

ここで提案された投稿を読んだ後、データを並べ替えるためにすべての作業が行われ、これらの例はすべて facet_grid を使用していますが、「a」グループを 2 つの異なる行に配置したいので、facte_wrap を使用する必要があると思いますが、正しくラベル付けするには何も機能しませんfacet_wrap の x 軸...ここまで来ました:

df <- data.frame(a = factor(c(1,1,2,1,2,2,1,2)), 
         b = factor(c(1,2,3,4,5,6,7,2)), 
         colb = as.character(c("#00AF4F", "#000FEF", "#004FAF", "#003FBF", "#008F6F", "#00DF1F", "#002FCF", "#000FEF")),
         c = factor(c(1,2,1,2,1,2,1,2)),
         value= 1:8)

ベース RI では、colb で色付けされた、次のような各レベルのファセットを取得しようとしています。

plot(df$b[df$a==1], df$value[df$a==1])
plot(df$b[df$a==2], df$value[df$a==2])

以下のヘルプのおかげで、これは機能しています...

df <- transform(df, category2 = factor(paste(a, b)))
df <- transform(df, category2 = reorder(category2, rank(value)))

ggplot(df, aes(category2, value, fill=colb)) +
  geom_bar(stat = "identity") +
 facet_grid(. ~ a, scales = "free_x") +
 scale_x_discrete(labels=df$b, breaks=df$category2)

しかし、代わりに facet_wrap を試してみると、b の正しいラベルで動作させることができません:

ggplot(df, aes(category2, value, fill=colb)) +
 geom_bar(stat = "identity") +
 facet_wrap( ~ a, nrow=2, scales = "free_x")

そして今、正しいラベルで!aosmithさん、ありがとうございます!

ggplot(df, aes(category2, value, fill=colb)) +
geom_bar(stat = "identity") + scale_x_discrete(labels=df$b, breaks=df$category2) + facet_wrap( ~ a, nrow=2, scales = "free_x")

私は何を間違っていますか?facet_wrap で解決策がない場合、別のグリッドにグループを配置する方法はありますか? 私はこれについて何日も頭を悩ませてきました...どんな助けも非常に感謝しています...どうもありがとう...

4

0 に答える 0