2016-08-25 18 views
1

ggplot2で凡例をカスタムテキストに置き換えることは可能ですか? 私はを知っていますの注釈を書いていますが、私はグラフに書くのではなく、その横に(またはその下に)書きたいと思っています - 正確には伝説がどこにあり、それはかなり簡単な方法で行います。r ggplot2 - 凡例の代わりにカスタムテキスト

など。この簡単なグラフの中で

library(data.table) 
library(ggplot2) 
library(ggrepel) 

id <- c(1:10) 
x1 <- sample(1:10, 10, replace=T) 
x2 <- sample(1:10, 10, replace=T) 
x3 <- sprintf("Point.%d",id) 
df<-data.frame(id,x1,x2,x3) 
dt<-data.table(df) 
setkeyv(dt,c("id")) 

p<-ggplot(data=dt,aes(x1,x2))+geom_point()+geom_text_repel(aes(label=x3))+ 
ggtitle("Graph")+xlab("X")+ylab("Y")+theme_bw() 
p 

私はその横のグラフについて短いものを書いてみたいと思います。 ggplot2は目的を超えているため、これは簡単には実現できないかもしれないが、私は多くの助けになるだろう。

+0

このスタックのオーバーフローを見たことがあります[リンク](http://stackoverflow.com/qu estions/12409960/ggplot2-annotate-プロット外)。この質問は重複している可能性があります。 – steveb

+0

いいえ、私はチャートの中に書いてはいけません。全体の図の横にあるテキスト。私は注釈について知っていますが、それが伝説を使って(何とか)より良い方法になることを願っています。 – Martin

+1

他の可能性[こちら](http://stackoverflow.com/questions/32506444/ggplot-function-to-add-text-just-below-legend) – Henrik

答えて

7

これは、デフォルトのテキストによって

gridExtra::grid.arrange(ggplot2::ggplot(), right = "this is a note") 

enter image description here

が、これは明示的にtextGrobを使用上書きする、90度回転させて、最も簡単な方法かもしれません

gridExtra::grid.arrange(ggplot2::ggplot(), right = grid::textGrob("this is a note")) 

enter image description here

+0

ありがとう、これは私が探していたものです。 – Martin

関連する問題