手动注释一个带有多个标签的面板

时间:2011-08-15 18:01:42

标签: r annotations ggplot2

这与这个问题(link)非常相似,但我不太确定如何根据我的需要操纵它。

我有一个带有两个面板的刻面图,我想在第一个面板中标记三个象限,只在第一个面板上标记。

这是一个模拟数据集:

dfr=data.frame(
 variable=rep(c("A","B"),each=2),
 x=c(2,-3,4,-5),
 y=c(-2,4,-2,6))

这是情节:

p=ggplot(dfr,aes(x,y))+
 geom_point()+
 facet_grid(variable~.)+
 scale_x_continuous(limits=c(-6,6))+
 scale_y_continuous(limits=c(-6,6))+
 geom_hline(yintercept=0)+
 geom_vline(xintercept=0)

这就是我想要完成的事情:

enter image description here

1 个答案:

答案 0 :(得分:4)

您始终可以使用所需标签创建单独的数据框,并使用geom_text

绘制它们
dfLab <- data.frame(variable = rep("A",3),
                    x = c(3,3,-3),
                    y = c(3,-3,-3),
                    lab = c('I','IV','III'))


ggplot(dfr,aes(x,y))+
 geom_point()+
 facet_grid(variable~.)+
 scale_x_continuous(limits=c(-6,6))+
 scale_y_continuous(limits=c(-6,6))+
 geom_hline(yintercept=0)+
 geom_vline(xintercept=0) + 
 geom_text(data = dfLab,aes(x=x,y=y,label=lab))

enter image description here