R 如何加减±;打印中的文本标签出错?
我的数据如下所示:R 如何加减±;打印中的文本标签出错?,r,ggplot2,heatmap,geom-text,R,Ggplot2,Heatmap,Geom Text,我的数据如下所示: var1, var2, mean, std 1 , 2 , 3 , 4 etc.. 我想把它们绘制成一个热图,看起来像这样,但我想在每个单元格内添加文本标签,样式为:mean±std(即,平均正负误差)。在上述情况下,对于var1列=1和var2行=2,单元格中的值将为3±4,对于其他单元格,值将类似地不同 它是一个热图并不重要,它可以是指向一个点或一个条的标签,我只想生成标签,这样我就可以得到每个标签的字符串“mean±std”:3±4。在我的例子中,我将制
var1, var2, mean, std
1 , 2 , 3 , 4
etc..
我想把它们绘制成一个热图,看起来像这样,但我想在每个单元格内添加文本标签,样式为:mean±std(即,平均正负误差)。在上述情况下,对于var1列=1和var2行=2,单元格中的值将为3±4,对于其他单元格,值将类似地不同
它是一个热图并不重要,它可以是指向一个点或一个条的标签,我只想生成标签,这样我就可以得到每个标签的字符串“mean±std”:3±4。在我的例子中,我将制作一个热图,其中颜色基于平均值,例如:
谢谢大家! 您可以使用geom_文本创建标签,并粘贴平均值和sd值,以正负号作为分隔符(\u00B1是相应的unicode):
dat您可以通过设置parse=TRUE
在geom_text
中使用plotmath。根据@beetroot的回答:
ggplot(dat) +
geom_text(aes(x = 1, y = 2.5,
label = paste(mean, std, sep = "%+-%")),
parse = TRUE)
多亏了贝特鲁特和罗兰的回答,这是我最后的代码(加上一些铃铛和口哨):
p1谢谢您,这是正确的想法,但不知何故,“%+-%”不起作用,但u/beetroot的“\u00B1”起作用。如果“不起作用”,您可能使用的是ggplot2的旧版本。
ggplot(dat) +
geom_text(aes(x = 1, y = 2.5,
label = paste(mean, std, sep = "%+-%")),
parse = TRUE)
p1 <- ggplot(r_output, aes(var1, var2)) +
geom_tile(aes(fill = mean))+
geom_text(aes(fill = mean, label = paste(round(mean, 2), round(std, 2), sep = "\u00B1")), size = 2)+
scale_fill_gradient(low = "red", high = "blue") +