2012-02-01 16 views
12

元のy軸のスケーリングされたセカンダリy軸を追加する。このトピックは新しいものではありません。これは、例えばon this ggplot2 google groups threadのように、触れられています。ハドレーのアドバイスに続いて、私はgeom_vline,geom_segment、およびgeom_textで二次y軸を追加しようとしました。しかし、それはまだ醜いです。ggplot2プロットにセカンダリy軸を追加する - 完全にする

だから私は完璧にあなたの助けを求めるでしょう。私は多くのggplot2ユーザーがこのトピックに興味を持ち、あなたの専門知識や貢献を好むと思います。前もって感謝します。

######################################### 
# what I have gotten. 
library(ggplot2) 

# build up a box plot 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 

# add the secondary y axis on right side of the plot 
p + geom_boxplot() + geom_vline(xintercept = 3.5) + 
geom_segment(aes(x=3.49, y=c(7,14,21,28), xend = 3.52, yend = c(7,14,21,28))) + 
geom_text(aes(x=3.55, y=c(7,14,21,28), label=c(7,14,21,28))) 
+0

一般的にはsecodary y軸を使用することはお勧めできません...私が欲しいもの – jrara

+1

申し訳ありませんが、実際には、二次y軸ではない、それだけでラベルです。このラベルは時には必要です。 –

+0

余分なラベルを付けるという事実を反映するために質問を編集したいかもしれません。私はちょうど同様の質問をしましたが、ファセットのコンテキストに特有です:http://stackoverflow.com/questions/11353287/how-do-you-add-a-general-label-to-facets-in-ggplot2 –

答えて

2

ハッキングを避けるには、代わりにfacet_gridを使用します。データに応じて、それをより一般的なセカンダリ軸にするためにかなりカスタマイズすることができます。

library(ggplot2) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot() + 
    facet_grid(cyl ~., scales = "free") 

enter image description here

+1

ありがとう、酸性親愛なるオタク。それはオプションです。しかし、それは私が望むものではありません。私の実際のケースでは、私は50以上のレベルのx軸を持っています。私たちの目は50面以上のプロットを見るのが非常に難しいです。 –

関連する問題