已经有人问过,但我找不到确切的答案。我想知道以下是否可行。
我在ggplot2库中有一堆散点图数据,每个都有不同的均值和标准差,以及观察次数。我想在每个不同的情节之上打印这些信息。因此,我正在计算并想要打印带注释的那些。我正在做的事情如下:
m_axl5 <- as.character(round(mean(newdata$axl5), 5))
sd_axl5 <- as.character(round(sd(newdata$axl5), 5))
txt_m <- paste ("mean:", m_axl5)
txt_sd <- paste ("stdev:", m_axl5)
txt <-paste (txt_m, txt_sd, sep = '\n')
axl5 <- ggplot (newdata, aes(y=axl5, x= row.names(newdata))) + geom_point(position = position_jitter(w=0.1, h=0), colour= "red")+
ggtitle("Axle 5 Weight - Match Error Difference") + xlab("") + ylab("Axle 5 Weight Match Error")
axl5 + theme(axis.ticks = element_blank(), axis.text.x = element_blank()) +annotate("text", x = 1, y = 10, label = txt)
每当我这样做时,它会给我以下错误:
Error: Incompatible lengths for set aesthetics: label
由于我的研究,我无法找到一种方法来定制标签或在ggplot上注释文本。如果有人可以帮助我,或者至少在我提前做好指导的时候,我会非常高兴。
感谢。
答案 0 :(得分:0)
您可以做一些像这样的事情
,而不是使用annotate()plot.title = 'Axle 5 Weight - Match Error Difference'
plot.subtitle = paste(txt_m, txt_sd, sep = '-')
ggtitle(bquote(atop(.(plot.title), atop(.(plot.subtitle), ""))))