File size: 1,396 Bytes
d2d624a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
library(ggplot2)
library(reshape2)
library(dplyr)
library(extrafont)

loadfonts(device = "pdf")  # Load fonts

correlation_matrix <- read.csv(file.choose(), row.names = 1)

correlation_matrix[abs(correlation_matrix) < 0.3] <- NA

correlation_matrix[lower.tri(correlation_matrix)] <- NA
diag(correlation_matrix) <- NA

melted_cor <- melt(as.matrix(correlation_matrix), na.rm = TRUE)

melted_cor$fill_value <- ifelse(is.na(melted_cor$value), NA, melted_cor$value)

ggplot(melted_cor, aes(x = Var1, y = Var2)) +
  geom_tile(aes(fill = fill_value), color = "black") +
  labs(x = NULL, y = NULL, fill = "Pearson's\nCorrelation") +
  scale_fill_gradient2(mid = "#FBFEF9", low = "#0C6291", high = "#A63446", 
                       limits = c(-1, 1), na.value = "lightgray") +
  theme_classic() +
  scale_x_discrete(expand = c(0, 0)) +
  scale_y_discrete(expand = c(0, 0)) +
  theme(text = element_text(family = "Arial"),  # Use a common font
        plot.title = element_text(size = 14, family = "Arial"),  # Title font
        axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "right",  # Position of the legend
        legend.title = element_text(size = 12),  # Title size
        legend.text = element_text(size = 10),  # Text size
        legend.key.size = unit(1.5, "cm"),  # Size of the legend keys
        legend.key.width = unit(1, "cm"))  # Width of the legend keys