2013-02-18 48 views
9

ggplot0.9.3にある優秀なtheme_minimal()を使用しています。背景は白です。プロットの右上隅にあるカスタムの場所にプロットのタイトルを配置したいと思います。次の例では、xyの値を知っていますが、右上にテキストが配置されるように、xmaxymaxの値を渡す方法があるのだろうかと思います。理想的には、テキストは右揃えになります。プロットの右上に位置するggplotのタイトル

#example plot 
p <- qplot(mpg, wt, data = mtcars, colour = cyl) 
p + annotate("text", x = 30, y = 5, label = "Custom Title") 

#what I would like 
p + annotate("text", y= ymax, x =xmax_or_RightJustified) 
+0

A演繹的に行うことができ、私は隅にテキストのフラッシュを取得するための簡単な方法があるとは思いません。最も安全な方法は、データからmax(x)とmax(y)を使用して、その位置を特定することです。 1つの問題は、xとyスケールのデフォルトの4%拡張がパディングであることです。プロットコール内で変更するとどうなりますか?あなたは 'u $ panel $ ranges [[1]] $ y.range [2]'と$ $ panel $ rangesを抽出して、例えば 'u < - ggplot_build(p)'でコーナー座標の等価を得ることができます。 [[1]] $ x.range [2]、それは事後計算であり、あなたが望むとは思っていません。これはテーマ機能になっていますか? – Dennis

答えて

11

あなたはannotate()内の機能max()min()を使用して、そのテキストをプロット(正当化)の内側に配置されていることを確認するためにhjust=1を追加することができます。

p + annotate("text", y= max(mtcars$wt), x =max(mtcars$mpg),label="Custom Title",hjust=1) 
23

あなたは

p + annotate("text", x=Inf, y = Inf, label = "Some text", vjust=1, hjust=1) 
関連する問題