1

質問 1: ggplot で 1 つの変数を塗りつぶし、別の変数でかわすことは可能ですか? この例のグループでは、クレームをカテゴリ内でグループ化しますか? 私はこのサイトを調査し、aes () コードで使用される変数と、塗りつぶしと覆い焼きの変数を操作してコードをいじってみましたが、役に立ちませんでした。(これに関する建設的なコメントに続く追加の注意:これを行うggplotの方法を認識していないが、これを実行できることがわかっている別のグラフィックパッケージを推奨したい場合は、紹介に興味があります)

質問 2: 凡例をグラフの一番上に移動するコードは何ですか。これは一部の人にとっては基本的なことのように思えるかもしれませんが、同様の質問をたくさん読んだことがあり、opts() 関数を参照して回答が古くなっているように見えることがよくあります。また、以下のコメントとして書かれたテーマとガイドのコードを使用してみました

df<-data.frame (Categories=c("Alpha Category", "Alpha Category",  "Alpha Category", "Alpha Category", "Bravo Category",  "Bravo Category", "Bravo Category", "Charlie Category" ,  "Charlie Category", "Charlie Category"),  Claim=c("claim1", "claim2", "claim3", "claim4", "claim5", "claim6", "claim7", "claim8","claim9", "claim10")  , Strong.Agreement=c(66,57,59,84,77,78,54,53,70,67), Somewhat.Agreement=c(18, 32, 35, 13, 22, 18, 36, 38, 27, 32) )
df$Claim <- reorder(df$Claim,df$Strong.Agreement)      
df.melt = melt(df, id.vars=c("Categories", "Claim"), measure.vars=c("Strong.Agreement","Somewhat.Agreement"), variable.name="Agreement", value.name="Ratings")  # Melt the data frame   
agreement.plot <- ggplot(df.melt, aes(x = Claim, y = Ratings, fill = Agreement)) +              
  geom_bar(stat="identity") + coord_flip()+
 theme_classic(base_size = 15, base_family = "") + scale_fill_brewer(palette="Paired")
 #+ theme(legend.position = "top")
  #guides(colour = guide_legend(title.position = "top"))
agreement.plot
4

1 に答える 1

2

これが私のアプローチです:

ggplot(df.melt, aes(x = Claim, y = Ratings, fill = Agreement)) +              
    geom_bar(stat="identity") + coord_flip()+
    theme_classic(base_size = 15, base_family = "") + 
    scale_fill_brewer(palette="Paired") +
    theme(legend.position="top") +
    facet_grid(Categories~.)

facet_grid覆い焼きと塗りつぶしの代わりに使用します。ドッジとフィルの両方を行う方法、またはそれが可能かどうかはわかりません。

于 2013-09-22T04:00:55.697 に答える