4

私はggplotに比較的慣れていないので、これが簡単であれば申し訳ありませんが、オンラインで何も見つかりませんでした.

ggplot2 で 29 個のボックスプロット (1.1 から 4.0 までの番号が付けられています) を並べて表示したい (これは可能です) が、目盛りラベルを適切なサイズにする (これは可能です) と、ラベルが重なり合い、いくつかだけが必要になります。 (1.5、2、2.5など)とにかく。目盛りラベルの一部のみを削除するにはどうすればよいですか? また、とにかく、1.0 に空白の目盛りを含めることができるので、目盛りラベルは素敵な丸い数字になりますか?

ボックスプロットごとに異なる数の観測値があるため、私のデータは「溶かした」リストです。

私の現在のコード:

list = list(data11, data12, ... data39, data40) # Elipse denotes the rest of the sequence
df = melt(list)

ggplot(df, aes(factor(variable), value)) + 
    geom_boxplot(outlier.size=1.5, colour="black") + 
    xlab("Xlabel") +
    ylab("Ylabel") +
    theme_classic() + 
    theme(
        axis.text.x = element_text(size=12),
        axis.text.y = element_text(size=12),
        axis.title.x = element_text(size=14),
        axis.title.y = element_text(size=14, angle=90),
        axis.line = element_line(size=0.75)
    )
4

1 に答える 1

4

これは確かに難しい質問ではありません。重要なアイデアはここで簡単に見つけることができます。

基本的に、1 行のコードがありません。あなたはあなたのデータのサンプルを共有していないので (恥を知れ!これを見てください)、いくつか生成しました。解決策は次のとおりです。

df.so1 <- runif(10); df.so2 <- runif(10); df.so3 <- runif(10)
list.so = list(df.so1, df.so2, df.so3)
df.so = melt(list.so)

ggplot(df.so, aes(factor(L1), value)) + 
  geom_boxplot(outlier.size=1.5, colour="black") + 
  xlab("Xlabel") + ylab("Ylabel") +
  theme_classic() + 
  theme(
    axis.text.x = element_text(size=12),
    axis.text.y = element_text(size=12),
    axis.title.x = element_text(size=14),
    axis.title.y = element_text(size=14, angle=90),
    axis.line = element_line(size=0.75)
  ) + 
  scale_x_discrete(breaks = c(1,3))

軸、目盛り、目盛りラベルなどを完全に制御できることに注意してください。詳細については、ggplot2のドキュメントを参照してください。

更新。

投稿する前に、関連する質問を確認することを忘れないでください:バンプ 1、 バンプ 2。

于 2013-10-11T11:04:00.117 に答える