早上好,
我正在 ggplot 中制作特定表型之间相关性的热图。我想用 R^2 来标记每个图块以进行关联。
我有一个相关矩阵 max_all,如下所示:
phenolist2 pheno1 pheno2 pheno3 pheno4 pheno5
max.pheno1 pheno1 0.05475998 0.05055959 0.05056578 0.10330301 0.05026997
max.pheno2 pheno2 0.15743312 0.05036100 0.05151750 0.04880302 0.31008809
max.pheno3 pheno3 0.05458550 0.07672537 0.04043422 0.16845294 0.14268895
max.pheno4 pheno4 0.05484327 0.04391523 0.05151107 0.09521869 0.19776296
max.pheno5 pheno5 0.08658449 0.05183693 0.16292683 0.22369817 0.53630569
否则,我的代码如下:
tmp_Rsq <- melt(max_all)
tmp_Rsq <- ddply(tmp_Rsq, .(variable), transform, rescale=rescale(value))
labels_Rsq <- expression(paste(R^2, " = ", format(tmp_Rsq$value, digits=2), sep=""))
ggplot(tmp, aes(variable, phenolist2)) +
geom_tile(aes(fill =-log10(value)), colour = "white") +
geom_text(aes(label=as.character(labels_Rsq), parse = TRUE, size=4)) +
scale_fill_gradientn(colours = myPalette(101), name="-log10(P)", limits=c(0 , 3.5)) +
theme(axis.title.x = element_blank(), axis.title.y=element_blank(),
plot.title=element_text(size=20))+
theme(axis.text = element_text(colour="black", face="bold"))
我的问题是我无法写出表达式,使 2 成为 R 的上标。
我意识到该网站上有很多解决类似问题的问题,例如ggplot2 带表达式的两行标签, 在绘图标签中组合 Paste() 和 expression() 函数 and 在图表上添加回归线方程和 R2但我无法将这些答案中建议的解决方案应用于我的案例(可能是因为我一直在尝试使用标签向量)。
非常感谢你的帮助。