Copy # Changing ggplot2 box plots with dots into interactive plot:
# Calling libraries:
library(plotly)
library(tidyverse)
# Consulting the documentation:
?ggplotly()
# Create 'data.long' tibble:
data.long <- data %>%
select(`Label`,
`SM 39:1;O2`,
`SM 40:1;O2`,
`SM 41:1;O2`,
`SM 42:1;O2`) %>%
pivot_longer(cols = `SM 39:1;O2`:`SM 42:1;O2`,
names_to = 'Lipids',
values_to = 'Concentrations')
# Creating a plot:
box.plots <-
ggplot(data.long, aes(x = `Label`,
y = `Concentrations`,
fill = `Label`)) +
geom_boxplot(outlier.shape = NA) +
geom_point(position = position_jitter(width = 0.05), shape = 21) +
scale_fill_manual(values = c('royalblue', 'orange', 'red2')) +
facet_grid(. ~ Lipids) +
theme_classic() +
theme(strip.placement = "outside",
strip.background = element_blank(),
panel.border = element_blank(),
panel.spacing.x = unit(0, 'cm'))
# Changing the plot into an interactive version:
ggplotly(box.plots)
Copy # Interactive correlation heat maps.
# Calling library:
library(reshape2)
library(ggsci)
# Computing correlation matrix:
corr.matrix <-
data %>%
filter(Label == "N") %>%
select(starts_with("SM"),
-`Sample Name`,
-Label) %>%
cor()
# Melting a wide correlation matrix into a long correlation matrix:
long.corr.matrix <- melt(corr.matrix)
# Selecting colors for the continuous color scaling:
colors <- c("#002060", "#0d78ca", "#00e8f0", "white", "#FF4D4D", "red", "#600000")
# Creating a ggplot2 correlation heat map:
corr.heat.map <-
ggplot(long.corr.matrix, aes(x = Var1, y = Var2, fill = value)) +
geom_tile() +
scale_fill_gradientn(colours = colors, limits = c(-1,1)) +
theme(axis.text.x = element_text(angle = 90,
hjust = 1,
vjust = 0.5))
# Creating the interactive plotly heat map:
ggplotly(corr.heat.map)
We encourage you to explore more of the possibilities offered by the ggplotly() function.