Various themes to be applied to ggplot2-based plots
SeuratTheme
The curated Seurat theme, consists of ...
DarkTheme
A dark theme, axes and text turn to white, the background becomes black
NoAxes
Removes axis lines, text, and ticks
NoLegend
Removes the legend
FontSize
Sets axis and title font sizes
NoGrid
Removes grid lines
SeuratAxes
Set Seurat-style axes
SpatialTheme
A theme designed for spatial visualizations (eg PolyFeaturePlot
, PolyDimPlot
)
RestoreLegend
Restore a legend after removal
RotatedAxis
Rotate X axis text 45 degrees
BoldTitle
Enlarges and emphasizes the title
SeuratTheme()
CenterTitle(...)
DarkTheme(...)
FontSize(
x.text = NULL,
y.text = NULL,
x.title = NULL,
y.title = NULL,
main = NULL,
...
)
NoAxes(..., keep.text = FALSE, keep.ticks = FALSE)
NoLegend(...)
NoGrid(...)
SeuratAxes(...)
SpatialTheme(...)
RestoreLegend(..., position = "right")
RotatedAxis(...)
BoldTitle(...)
WhiteBackground(...)
Extra parameters to be passed to theme
X and Y axis text sizes
X and Y axis title sizes
Plot title size
Keep axis text
Keep axis ticks
A position to restore the legend to
A ggplot2 theme object
# Generate a plot with a dark theme
library(ggplot2)
df <- data.frame(x = rnorm(n = 100, mean = 20, sd = 2), y = rbinom(n = 100, size = 100, prob = 0.2))
p <- ggplot(data = df, mapping = aes(x = x, y = y)) + geom_point(mapping = aes(color = 'red'))
p + DarkTheme(legend.position = 'none')
# Generate a plot with no axes
library(ggplot2)
df <- data.frame(x = rnorm(n = 100, mean = 20, sd = 2), y = rbinom(n = 100, size = 100, prob = 0.2))
p <- ggplot(data = df, mapping = aes(x = x, y = y)) + geom_point(mapping = aes(color = 'red'))
p + NoAxes()
# Generate a plot with no legend
library(ggplot2)
df <- data.frame(x = rnorm(n = 100, mean = 20, sd = 2), y = rbinom(n = 100, size = 100, prob = 0.2))
p <- ggplot(data = df, mapping = aes(x = x, y = y)) + geom_point(mapping = aes(color = 'red'))
p + NoLegend()
# Generate a plot with no grid lines
library(ggplot2)
df <- data.frame(x = rnorm(n = 100, mean = 20, sd = 2), y = rbinom(n = 100, size = 100, prob = 0.2))
p <- ggplot(data = df, mapping = aes(x = x, y = y)) + geom_point(mapping = aes(color = 'red'))
p + NoGrid()