首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将注释添加到ggcorr图的轴文本中

将注释添加到ggcorr图的轴文本中
EN

Stack Overflow用户
提问于 2022-03-07 16:53:28
回答 1查看 252关注 0票数 0

我正在用ggcorrplot绘制大型数据集的相关矩阵。问题是很难看到轴文本的标签(在下面的示例中,它将是sample1)。与每个标签相关联,我有另一个标签(在下面的示例中,它将是normal for sample1)。是否可以在每个样本标签的周围加上圆括号或方框来注释轴文本标签?

代码语言:javascript
复制
cor.vals <- cor(matrix(rnorm(100), nrow = 10))
colnames(cor.vals) <- paste0("sample", 1:10)
rownames(cor.vals) <- colnames(cor.vals)
ggcorrplot::ggcorrplot(cor.vals)
labels.samples <- c(rep("normal", 5), rep("drug", 5))

对于x轴也是如此。我的数据要大得多,还有更多的类别,所以手动添加它们并不是一种选择。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-07 17:20:31

您想要的确切外观在ggplot中是无法直接实现的。您可以使用grid手动添加形状,但我注意到您觉得这并不是一个真正的选项。

一个逻辑上等价且相似的外观可以用facet实现,尽管这需要修改ggcorrplot的输出。

代码语言:javascript
复制
p <- ggcorrplot::ggcorrplot(cor.vals)

p$data$facets_y <- factor(rep(labels.samples, length = nrow(p$data)), c("normal", "drug"))
p$data$facets_x <- rep(labels.samples, each = length(labels.samples))
p$coordinates <- coord_cartesian()

p + facet_grid(facets_x~facets_y, scales = "free", switch = "both") +
  theme(panel.spacing = unit(-0.02, "npc"),
        axis.ticks.y.left = element_blank(),
        strip.background = element_rect(color = c("black")))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71384551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档