Estou tentando customizar os rótulos em uma matriz de correlação feita usando o ggcorrplot
pacote. No entanto, não consigo fazer com que a formatação sobrescrito ou subscrito funcione. Como posso exibir os rótulos corretamente sem usar caracteres 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
Criado em 23/04/2024 com reprex v2.1.0
Uma opção com ggtext usando
markdown
formatação:Criado em 23/04/2024 com reprex v2.1.0
E caso queira continuar,
plotmath
você pode alcançar o resultado desejadoscale_x/y_discrete
usandoscales::label_parse
o seguinte:Uma das desvantagens
plotmath
é que ele não suporta novas linhas. Mas você pode falsificar um usandoatop()
: