ggplot中使用geom_text注释并带有可变标签。

4

是否可以使用“文本”元素在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)

这会在图表上产生一系列数字的外观。有什么想法如何解决这个问题吗?
编辑:这个问题不同,因为我不是试图用一个值注释每个直方图条块。目标是向图表添加一个单一的文本元素。

@scoa:我看不出你所提到的问题如何解决这个问题。请提供一个明确的解决方案。 - remi
2个回答

3
如果我理解正确,您想在图形中添加一个由另一个数据集定义的文本,即未作为参数传递给ggplot()的数据集。
解决方案:使用data=...将此数据集直接传递给geom_text函数以使用它。
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)

2
它应该像这样工作:
gplot <- gplot + geom_text(aes(15, 5, label="some random text"))
gplot

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


@vano:我正在尝试传递my.mean的值以便在图表上打印,而不是some text - remi
1
gplot <- gplot + geom_text(aes(15, 5, label=paste("Mean: ", my.mean))) - vanao veneri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接