46.7 Visualizations and Plots
You can customize your plots based on your preferred journals. Here, I am creating a custom setting for the American Marketing Association.
American-Marketing-Association-ready theme for plots
library(ggplot2)
# check available fonts
# windowsFonts()
# for Times New Roman
# names(windowsFonts()[windowsFonts()=="TT Times New Roman"])
# Making a theme
amatheme = theme_bw(base_size = 14, base_family = "serif") + # This is Time New Roman
theme(
# remove major gridlines
panel.grid.major = element_blank(),
# remove minor gridlines
panel.grid.minor = element_blank(),
# remove panel border
panel.border = element_blank(),
line = element_line(),
# change font
text = element_text(),
# if you want to remove legend title
# legend.title = element_blank(),
legend.title = element_text(size = rel(0.6), face = "bold"),
# change font size of legend
legend.text = element_text(size = rel(0.6)),
legend.background = element_rect(color = "black"),
# legend.margin = margin(t = 5, l = 5, r = 5, b = 5),
# legend.key = element_rect(color = NA, fill = NA),
# change font size of main title
plot.title = element_text(
size = rel(1.2),
face = "bold",
hjust = 0.5,
margin = margin(b = 15)
),
plot.margin = unit(c(1, 1, 1, 1), "cm"),
# add black line along axes
axis.line = element_line(colour = "black", linewidth = .8),
axis.ticks = element_line(),
# axis title
axis.title.x = element_text(size = rel(1.2), face = "bold"),
axis.title.y = element_text(size = rel(1.2), face = "bold"),
# axis text size
axis.text.y = element_text(size = rel(1)),
axis.text.x = element_text(size = rel(1))
)
Example
library(tidyverse)
library(ggsci)
data("mtcars")
yourplot <- mtcars %>%
select(mpg, cyl, gear) %>%
ggplot(., aes(x = mpg, y = cyl, fill = gear)) +
geom_point() +
labs(title="Some Plot")
yourplot +
amatheme +
# choose different color theme
scale_color_npg()
Other pre-specified themes