我正在尝试自定义使用该包制作的相关矩阵上的标签ggcorrplot
。但是,我无法使上标或下标格式正常工作。如何在不使用 Unicode 字符的情况下使标签正确显示?
library(tidyverse)
library(ggcorrplot)
# Example Data
M <- cor(mtcars)[1:3,1:3]
# Attempt 1: Not formatted correctly
colnames(M) <- c("Temperature\n (^o C)", "PO[4]^2", "Oxygen\n (mg L^-1)")
rownames(M) <- c("Temperature\n (^o C)", "PO[4]^2", "Oxygen\n (mg L^-1)")
ggcorrplot(M,
type = "lower",
lab = TRUE,
ggtheme = theme_bw())
# Attempt 2: Produces error message
ggcorrplot(M,
type = "lower",
lab = TRUE,
scale_x_discrete(labels = c("mpg" = expression(Temperature~(degree*C)),
"cyl" = expression(PO[4]^2),
"disp" = expression(Oxygen~(mg~L^-1)))),
scale_y_discrete(labels = c("mpg" = expression(Temperature~(degree*C)),
"cyl" = expression(PO[4]^2),
"disp" = expression(Oxygen~(mg~L^-1)))),
ggtheme = theme_bw())
#> Error in match.arg(method): 'arg' must be NULL or a character vector
创建于 2024-04-23,使用reprex v2.1.0
ggtext 使用格式的选项
markdown
:创建于 2024-04-23,使用reprex v2.1.0
如果你想坚持下去,你可以通过像这样使用
plotmath
来达到你想要的结果:scale_x/y_discrete
scales::label_parse
其缺点之一
plotmath
是它不支持新线路。但你可以使用以下方法伪造一个atop()
: