1

如何将轴标签添加到 ggcorrplot?我有一个问卷调查中两次单独尝试之间的相关性图。X 轴代表第一次尝试,Y 轴代表第二次尝试。我想标记轴以表明这就是这里所代表的。

我的代码如下所示:

corrQData <- round(cor(Attempt1, Attempt2), digits = 1)

ggcorrplot(corrQData, 
           outline.color = "white",
           ggtheme = theme_bw(),
           colors = c("#F8696B", "#FFEB84", "#63BE7B"),
           legend.title = "Correlation",
           lab = TRUE,
           lab_size = 3,
           tl.cex = 8,
           tl.srt = 0,
           title = "Correlation Between Questionnaire Attempts") +
  theme(plot.title = element_text(hjust = 0.5, size=10), legend.title = element_text(size = 10))

我的情节是这样的:

在此处输入图像描述

我尝试添加+ scale_x_discreet(name = "Attempt 1")到我的 ggcorrplot 代码的末尾,但它没有做任何事情。

4

2 回答 2

0

您必须覆盖ggcorrplot不显示轴标签的默认行为。通过添加带有ggplot2::labs()scale_x_discrete(name = ...)也可以正常工作)的标签并更改情节的主题来做到这一点

library(ggcorrplot)
corrdata <- round(cor(mtcars), 1)

ggcorrplot(corrdata) + 
  ggplot2::labs(x = 'X label', y = 'Y label') +
  ggplot2::theme(
    axis.title.x = element_text(angle = 0, color = 'grey20'),
    axis.title.y = element_text(angle = 90, color = 'grey20')
  )
于 2019-08-31T12:49:33.890 回答
0

这可以使用 {ggcorrplot2} 来实现。

虽然 ggcorrplot 开发人员可能有充分的理由不包括轴标签(例如,它们对于成对矩阵来说不是必需的),但在某些情况下,希望指定轴标签和轴刻度可能是有意义的。例如。在比较两组不同变量之间的相关性时,并排除在组内进行的任何比较。


ggcorrplot2::ggcorrplot() 通过在内部使用以下命令来抑制轴标签

theme(axis.title = element_blank())

如果您想推翻这一点并提供轴标签,您必须指定要添加的标签并重新指定axis.title行为,例如

corrdata <- round(cor(mtcars), 1)

ggcorrplot2::ggcorrplot(corrdata) + 
  ggplot2::labs(x = 'Variable Set 1', y = 'Variable Set 2') +
  ggplot2::theme(axis.title = element_text())

也可以使用手动指定轴刻度标签

corrdata <- round(cor(mtcars), 1)

ggcorrplot2::ggcorrplot(corrdata) + 
  ggplot2::labs(x = 'Variable Set 1', y = 'Variable Set 2') +
  ggplot2::theme(axis.title = element_text())+
  ggplot2::scale_x_continuous(breaks = 1:dim(corrdata)[1], labels = c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"), 
      expand = c(0, 0))+
  ggplot2::scale_y_reverse(breaks = 1:dim(corrdata)[1], labels = c("l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v"), 
      expand = c(0, 0))

带有修改的轴标签的绘图

于 2022-03-04T01:47:00.240 回答