带有变量标签的ggplot geom_text注释

时间:2015-10-18 13:54:08

标签: r ggplot2 annotations

是否可以使用指示数据特征(变量)的“text”元素来注释ggplot数字?

library(ggplot2)
library(datasets)    
my.mean <- mean(mtcars$mpg, na.rm=T)
my.mean <- as.name(my.mean)

gplot <- ggplot(mtcars, aes(mpg))+geom_histogram()
gplot <- gplot + geom_text(aes_string(label=my.mean, y=5), size=3)

这会在情节上产生一些看似连续数字的东西。有任何想法如何解决这个问题?

编辑:这个问题不同,因为我没有尝试用值注释每个直方图bin。目标是在图中添加一个单独的文本元素。

2 个答案:

答案 0 :(得分:2)

它应该像这样工作:

gplot <- gplot + geom_text(aes(15, 5, label="some random text"))
gplot

使用数字可以指定网格中的位置。

答案 1 :(得分:1)

如果我理解的正确,您想在绘图中添加由另一个数据集定义的文本,该数据集即不是作为ggplot()的参数给出的数据集。

解决方案:使用geom_text将此数据集直接传递到您的data=...函数以使用它。

library(ggplot2) library(datasets)
my.mean <- mean(mtcars$mpg, na.rm=T)

ggplot(mtcars, aes(mpg)) +
        geom_histogram() + 
        geom_text(data=data.frame(my.mean=my.mean), aes(y=5, x=my.mean, label=my.mean), size=3)