Loading Libraries
library("see")
library("dplyr")
library("ggplot2")
# Exp for plotting data using subset of English data
library(languageR)
English_df <- as.data.frame(english)
English_df_subset <- English_df %>%
filter(WordCategory %in% c("N", "V")) %>%
group_by(WordCategory) %>%
slice_sample(n = 20) %>%
ungroup()
#View(English_df)
Specialized Graphs
Radar Chart
https://easystats.github.io/see/reference/coord_radar.html
library(datawizard) # for data_to_long() for Radar format
# Prepping data
radar_data <- English_df %>%
group_by(AgeSubject) %>%
summarise(
RTlexdec = mean(RTlexdec, na.rm = TRUE),
RTnaming = mean(RTnaming, na.rm = TRUE),
CorrectLexdec = mean(CorrectLexdec, na.rm = TRUE)/5 # /5 for scaling
)
radar_long <- data_to_long(
radar_data,
select = c("RTlexdec", "RTnaming", "CorrectLexdec")
)
ggplot(radar_long, aes(x = name, y = value, color = AgeSubject, group = AgeSubject)) +
geom_polygon(fill = NA, linewidth = 2) +
coord_radar(start = -pi / 3) # rotate

Layouts, Colors, and Themes
Patchwork (meshing plots together)
https://easystats.github.io/see/reference/plots.html
p1 <- ggplot(English_df_subset, aes(x = WordCategory, y = RTlexdec, fill = WordCategory)) +
geom_violindot(size_dots = 0.3) +
scale_fill_material_d()
p2 <- ggplot(English_df_subset, aes(x = WordCategory, y = RTlexdec, fill = WordCategory)) +
geom_boxplot() +
scale_fill_material_d()
p3 <- ggplot(English_df_subset, aes(x = WordCategory, y = RTlexdec, fill = WordCategory)) +
geom_point2() +
scale_color_material(discrete = FALSE)
# Fancy way to combine plot (can add titles and labels)
plots(p1, p2, p3,
n_columns = 2,
tags = c("Fig. 1", "Fig. 2", "Fig. 3"), # Adding titles to each plot
title = "Example plots" # adding title
)

# Other ways to combine using equations
# / is under
# + is next to each other
(p1 + p2) / p3

Themes
Available themes:
theme_azurelight
theme_lucid
theme_blackboard
theme_modern
theme_radar
theme_abyss
# theme_azurelight.R
# theme_blackboard.R
# theme_lucid.R
# theme_modern.R
# theme_radar.R
p1 + theme_blackboard()

p1 + theme_abyss()

p1 + theme_modern()

Color Scales
https://easystats.github.io/see/articles/seecolorscales.html
English_df$random_group <- as.factor(sample(1:5, size = nrow(English_df), replace = TRUE))
pizza <- ggplot(English_df, aes(RTlexdec, RTnaming, colour = random_group)) +
geom_point2(size = 2.5) +
# Color scale pizza
scale_color_pizza() +
theme(
# Can extract hex from theme color
panel.background = element_rect(fill = pizza_colors("crust")),
plot.background = element_rect(fill = pizza_colors("crust")))
pizza


LS0tCnRpdGxlOiAiU2VlIFBhY2thZ2UgRGVtbyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyMgTG9hZGluZyBMaWJyYXJpZXMKCmBgYHtyfQpsaWJyYXJ5KCJzZWUiKQpsaWJyYXJ5KCJkcGx5ciIpCmxpYnJhcnkoImdncGxvdDIiKQoKIyBFeHAgZm9yIHBsb3R0aW5nIGRhdGEgdXNpbmcgc3Vic2V0IG9mIEVuZ2xpc2ggZGF0YQpsaWJyYXJ5KGxhbmd1YWdlUikKRW5nbGlzaF9kZiA8LSBhcy5kYXRhLmZyYW1lKGVuZ2xpc2gpCkVuZ2xpc2hfZGZfc3Vic2V0IDwtIEVuZ2xpc2hfZGYgJT4lCiAgZmlsdGVyKFdvcmRDYXRlZ29yeSAlaW4lIGMoIk4iLCAiViIpKSAlPiUKICBncm91cF9ieShXb3JkQ2F0ZWdvcnkpICU+JQogIHNsaWNlX3NhbXBsZShuID0gMjApICU+JQogIHVuZ3JvdXAoKQojVmlldyhFbmdsaXNoX2RmKQpgYGAKCiMjIFNwZWNpYWxpemVkIEdyYXBocwoKIyMjIEhhbGYtdmlvbGluIEhhbGYtZG90IHBsb3QKCjxodHRwczovL2Vhc3lzdGF0cy5naXRodWIuaW8vc2VlL3JlZmVyZW5jZS9nZW9tX3Zpb2xpbmRvdC5odG1sPgoKYGBge3J9CnAxIDwtIGdncGxvdChFbmdsaXNoX2RmX3N1YnNldCwgYWVzKHggPSBXb3JkQ2F0ZWdvcnksIHkgPSBSVGxleGRlYywgZmlsbCA9IFdvcmRDYXRlZ29yeSkpICsKICBnZW9tX3Zpb2xpbmRvdChzaXplX2RvdHMgPSAwLjMpICsKICBzY2FsZV9maWxsX21hdGVyaWFsX2QoKQoKcDEKYGBgCgojIyMgUG9vbCBiYWxsIFBvaW50cwoKPGh0dHBzOi8vZWFzeXN0YXRzLmdpdGh1Yi5pby9zZWUvcmVmZXJlbmNlL2dlb21fcG9vbHBvaW50Lmh0bWw+CgpgYGB7cn0KZ2dwbG90KEVuZ2xpc2hfZGZfc3Vic2V0LCBhZXMoUlRsZXhkZWMsIFJUbmFtaW5nLCBjb2xvdXIgPSBXb3JkQ2F0ZWdvcnkpKSArCiAgZ2VvbV9wb29scG9pbnQobGFiZWwgPSByb3cubmFtZXMoRW5nbGlzaF9kZl9zdWJzZXQpKSArCiAgc2NhbGVfY29sb3JfZmxhdF9kKCkgKwogIHRoZW1lX21vZGVybigpCmBgYAoKIyMjIFJhZGFyIENoYXJ0Cgo8aHR0cHM6Ly9lYXN5c3RhdHMuZ2l0aHViLmlvL3NlZS9yZWZlcmVuY2UvY29vcmRfcmFkYXIuaHRtbD4KCmBgYHtyfQpsaWJyYXJ5KGRhdGF3aXphcmQpICAjIGZvciBkYXRhX3RvX2xvbmcoKSBmb3IgUmFkYXIgZm9ybWF0CgojIFByZXBwaW5nIGRhdGEKcmFkYXJfZGF0YSA8LSBFbmdsaXNoX2RmICU+JQogIGdyb3VwX2J5KEFnZVN1YmplY3QpICU+JQogIHN1bW1hcmlzZSgKICAgIFJUbGV4ZGVjID0gbWVhbihSVGxleGRlYywgbmEucm0gPSBUUlVFKSwKICAgIFJUbmFtaW5nID0gbWVhbihSVG5hbWluZywgbmEucm0gPSBUUlVFKSwKICAgIENvcnJlY3RMZXhkZWMgPSBtZWFuKENvcnJlY3RMZXhkZWMsIG5hLnJtID0gVFJVRSkvNSAgIyAvNSBmb3Igc2NhbGluZwogICkKCnJhZGFyX2xvbmcgPC0gZGF0YV90b19sb25nKAogIHJhZGFyX2RhdGEsCiAgc2VsZWN0ID0gYygiUlRsZXhkZWMiLCAiUlRuYW1pbmciLCAiQ29ycmVjdExleGRlYyIpCikKCgpnZ3Bsb3QocmFkYXJfbG9uZywgYWVzKHggPSBuYW1lLCB5ID0gdmFsdWUsIGNvbG9yID0gQWdlU3ViamVjdCwgZ3JvdXAgPSBBZ2VTdWJqZWN0KSkgKwogIGdlb21fcG9seWdvbihmaWxsID0gTkEsIGxpbmV3aWR0aCA9IDIpICsKICBjb29yZF9yYWRhcihzdGFydCA9IC1waSAvIDMpICMgcm90YXRlCgpgYGAKCiMjIExheW91dHMsIENvbG9ycywgYW5kIFRoZW1lcwoKIyMjIFBhdGNod29yayAobWVzaGluZyBwbG90cyB0b2dldGhlcikKCjxodHRwczovL2Vhc3lzdGF0cy5naXRodWIuaW8vc2VlL3JlZmVyZW5jZS9wbG90cy5odG1sPgoKYGBge3J9CnAxIDwtIGdncGxvdChFbmdsaXNoX2RmX3N1YnNldCwgYWVzKHggPSBXb3JkQ2F0ZWdvcnksIHkgPSBSVGxleGRlYywgZmlsbCA9IFdvcmRDYXRlZ29yeSkpICsKICBnZW9tX3Zpb2xpbmRvdChzaXplX2RvdHMgPSAwLjMpICsKICBzY2FsZV9maWxsX21hdGVyaWFsX2QoKQoKcDIgPC0gZ2dwbG90KEVuZ2xpc2hfZGZfc3Vic2V0LCBhZXMoeCA9IFdvcmRDYXRlZ29yeSwgeSA9IFJUbGV4ZGVjLCBmaWxsID0gV29yZENhdGVnb3J5KSkgKwogIGdlb21fYm94cGxvdCgpICsKICBzY2FsZV9maWxsX21hdGVyaWFsX2QoKQoKcDMgPC0gZ2dwbG90KEVuZ2xpc2hfZGZfc3Vic2V0LCBhZXMoeCA9IFdvcmRDYXRlZ29yeSwgeSA9IFJUbGV4ZGVjLCBmaWxsID0gV29yZENhdGVnb3J5KSkgKwogIGdlb21fcG9pbnQyKCkgKwogIHNjYWxlX2NvbG9yX21hdGVyaWFsKGRpc2NyZXRlID0gRkFMU0UpCgojIEZhbmN5IHdheSB0byBjb21iaW5lIHBsb3QgKGNhbiBhZGQgdGl0bGVzIGFuZCBsYWJlbHMpCnBsb3RzKHAxLCBwMiwgcDMsCiAgbl9jb2x1bW5zID0gMiwKICB0YWdzID0gYygiRmlnLiAxIiwgIkZpZy4gMiIsICJGaWcuIDMiKSwgIyBBZGRpbmcgdGl0bGVzIHRvIGVhY2ggcGxvdAogIHRpdGxlID0gIkV4YW1wbGUgcGxvdHMiICMgYWRkaW5nIHRpdGxlCikKYGBgCgpgYGB7cn0KIyBPdGhlciB3YXlzIHRvIGNvbWJpbmUgdXNpbmcgZXF1YXRpb25zCiMgLyBpcyB1bmRlcgojICsgaXMgbmV4dCB0byBlYWNoIG90aGVyCihwMSArIHAyKSAvIHAzCgpgYGAKCiMjIyBUaGVtZXMKCkF2YWlsYWJsZSB0aGVtZXM6CgotICAgdGhlbWVfYXp1cmVsaWdodAoKLSAgIHRoZW1lX2x1Y2lkCgotICAgdGhlbWVfYmxhY2tib2FyZAoKLSAgIHRoZW1lX21vZGVybgoKLSAgIHRoZW1lX3JhZGFyCgotICAgdGhlbWVfYWJ5c3MKCmBgYHtyfQojIHRoZW1lX2F6dXJlbGlnaHQuUgojIHRoZW1lX2JsYWNrYm9hcmQuUgojIHRoZW1lX2x1Y2lkLlIKIyB0aGVtZV9tb2Rlcm4uUgojIHRoZW1lX3JhZGFyLlIKCnAxICsgdGhlbWVfYmxhY2tib2FyZCgpCgpwMSArIHRoZW1lX2FieXNzKCkKCnAxICsgdGhlbWVfbW9kZXJuKCkKYGBgCgojIyMgQ29sb3IgU2NhbGVzCgo8aHR0cHM6Ly9lYXN5c3RhdHMuZ2l0aHViLmlvL3NlZS9hcnRpY2xlcy9zZWVjb2xvcnNjYWxlcy5odG1sPgoKYGBge3J9CkVuZ2xpc2hfZGYkcmFuZG9tX2dyb3VwIDwtIGFzLmZhY3RvcihzYW1wbGUoMTo1LCBzaXplID0gbnJvdyhFbmdsaXNoX2RmKSwgcmVwbGFjZSA9IFRSVUUpKQoKcGl6emEgPC0gZ2dwbG90KEVuZ2xpc2hfZGYsIGFlcyhSVGxleGRlYywgUlRuYW1pbmcsIGNvbG91ciA9IHJhbmRvbV9ncm91cCkpICsKICBnZW9tX3BvaW50MihzaXplID0gMi41KSArCiAgIyBDb2xvciBzY2FsZSBwaXp6YQogIHNjYWxlX2NvbG9yX3BpenphKCkgKwogIHRoZW1lKAogICAgIyBDYW4gZXh0cmFjdCBoZXggZnJvbSB0aGVtZSBjb2xvcgogICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gcGl6emFfY29sb3JzKCJjcnVzdCIpKSwgCiAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9IHBpenphX2NvbG9ycygiY3J1c3QiKSkpCgpwaXp6YQpgYGAKCiFbXShEb3dubG9hZHMvU2NyZWVuc2hvdCUyMDIwMjUtMDQtMTglMjBhdCUyMDQuMDUuMjglMjBBTS5wbmcpCg==