ggplot2
andを使用してプロットを挿入しようとしていますannotation_custom
(プロットは、実際には凡例を置き換えるために使用しているマップです)。ただし、facet_wrap
複数のパネルを生成するためにも使用していますが、 で使用するとannotation_custom
、各ファセットのプロットが再現されます。できればプロット領域の外にプロットを一度だけ挿入する簡単な方法はありますか?
以下に簡単な例を示します。
#Generate fake data
set.seed(9)
df=data.frame(x=rnorm(100),y=rnorm(100),facets=rep(letters[1:2]),
colors=rep(c("red","blue"),each=50))
#Create base plot
p=ggplot(df,aes(x,y,col=colors))+geom_point()+facet_wrap(~facets)
#Create plot to replace legend
legend.plot=ggplotGrob(
ggplot(data=data.frame(colors=c("red","blue"),x=c(1,1),y=c(1,2)),
aes(x,y,shape=colors,col=colors))+geom_point(size=16)+
theme(legend.position="none") )
#Insert plot using annotation_custom
p+annotation_custom(legend.plot)+theme(legend.position="none")
#this puts plot on each facet!
これにより、次のプロットが生成 され ます 。ありがとう!