Adjust theme for ggplot2 (Part 1)

Especially to TT

Nguyen Chi Dung

Introduction

library(hrbrthemes)
library(tidyverse)

p1 <- economics %>% 
  ggplot(aes(date, uempmed / 100)) + 
  geom_line(color = "cyan") + 
  geom_area(fill = "cyan", alpha = 0.1) + 
  scale_y_percent() + 
  labs(x = "Date", y = "Rate", 
       title = "US Unemployment Rate from 1967 to 2015", 
       caption = "Source: Bureau of Labor Statistics")

p1 + theme(
  # Chọn màu và kiểu chữ cho title: 
  text = element_text(family = "Gill Sans", color = "#444444"), 
  # Chọn  màu cho background: 
  , panel.background = element_rect(fill = "#444B5A")
  # Chọn màu cho đường grid chính: 
  , panel.grid.minor = element_line(color = "#4d5566")
  # Chọn màu cho đường grid phụ: 
  , panel.grid.major = element_line(color = "#586174")
  # Chọn kích  cỡ chữ cho title: 
  ,plot.title = element_text(size = 18)
  # Kích cỡ chữ cho hai trục X và Y: 
  , axis.title = element_text(size = 10, color = "#555555")
  # chỉnh  chỉ dẫn của  trục Y lên trên (chữ  Rate): 
  , axis.title.y = element_text(hjust = 1, face = "bold")
  # Chỉnh chỉ dẫn trục X về phía gốc tọa độ (chữ Date): 
  , axis.title.x = element_text(hjust = 0, face = "bold")
  # Chữ in nghiêng cho caption: 
  , plot.caption = element_text(face = "italic")
)

# Biến thành hàm: 
theme_stock <- function(...) {
  theme(
  # Chọn màu và kiểu chữ cho title: 
  text = element_text(family = "Gill Sans", color = "#444444"), 
  # Chọn  màu cho background: 
  , panel.background = element_rect(fill = "#444B5A")
  # Chọn màu cho đường grid chính: 
  , panel.grid.minor = element_line(color = "#4d5566")
  # Chọn màu cho đường grid phụ: 
  , panel.grid.major = element_line(color = "#586174")
  # Chọn kích  cỡ chữ cho title: 
  ,plot.title = element_text(size = 18)
  # Kích cỡ chữ cho hai trục X và Y: 
  , axis.title = element_text(size = 10, color = "#555555")
  # Chỉnh chữ Rate lên trên cùng trục Y: 
  , axis.title.y = element_text(hjust = 1, face = "bold")
  # Chỉnh chỉ dẫn trục X về phía gốc tọa độ (chữ Date): 
  , axis.title.x = element_text(hjust = 0, face = "bold")
  # Chữ in nghiêng cho caption: 
  , plot.caption = element_text(face = "italic")
)
  
}

# Test theme vừa có: 
p1 + theme_stock()

library(tidyquant)
FANG %>% 
  ggplot(aes(date, open)) + 
  geom_line(color = "cyan") + 
  geom_area(fill = "cyan", alpha = 0.1) + 
  facet_wrap(~ symbol, scales = "free") + 
  theme_stock()