Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>")
required <- c("maps", "mapproj", "knitr")
if (!all(sapply(required, requireNamespace, quietly = TRUE))) {
knitr::opts_chunk$set(eval = FALSE)
}
## ---- echo = FALSE, fig.width = 3, fig.height = 1.5---------------------------
ggplot2::ggplot(
data.frame(
y = c(1, 3), group = c("a", "b"),
facet = factor(c(rep("pie", 2)), levels = c("pie", "moon"))
),
ggplot2::aes(y = y, fill = group)
) +
ggplot2::geom_col(ggplot2::aes(x = factor(0)), width = 2, color = "black") +
gggibbous::geom_moon(
data = data.frame(
x = factor(rep(-0.5, 2)), y = rep(0, 2), ratio = c(0.75, 0.25),
right = c(TRUE, FALSE), group = c("b", "a"), facet = c("moon", "moon")
),
ggplot2::aes(x = x, y = y, ratio = ratio, right = right),
size = 36, stroke = 0.5
) +
ggplot2::coord_polar(theta = "y") +
ggplot2::facet_wrap(~facet) +
ggplot2::scale_fill_manual(values = c("white", "black"), guide = "none") +
ggplot2::theme_void(16)
## ----setup--------------------------------------------------------------------
library(gggibbous)
## ---- fig.width = 4, fig.height = 2-------------------------------------------
ggplot(data.frame(x = 1:5, y = 1, size = 2^(0:4)), aes(x, y, size = size)) +
geom_moon() +
geom_point(y = 2) +
lims(x = c(0.5, 5.5), y = c(0.5, 2.5)) +
scale_size(range = c(5, 10))
## ---- fig.width = 5, fig.height = 1.25----------------------------------------
ggplot(data.frame(x = 1:5, y = 0, ratio = 0:4 * 0.25), aes(x = x, y = y)) +
geom_moon(aes(ratio = ratio), size = 20, fill = "black") +
geom_text(aes(y = y + 1, label = ratio)) +
lims(x = c(0.5, 5.5), y = c(-1, 1.4)) +
theme_void()
## ---- fig.width = 3.5, fig.height = 2.5---------------------------------------
tidymoons <- data.frame(
x = rep(1:3, 6),
y = rep(rep(3:1, each = 3), 2),
ratio = c(1:9 / 10, 9:1 / 10),
right = rep(c(TRUE, FALSE), each = 9)
)
ggplot(tidymoons) +
geom_moon(aes(x, y, ratio = ratio, right = right, fill = right)) +
lims(x = c(0.5, 3.5), y = c(0.5, 3.5))
## ---- fig.width = 3.5, fig.height = 2.5---------------------------------------
ggplot(tidymoons, aes(x, y, ratio = ratio, right = right, size = 2^x)) +
geom_moon(data = subset(tidymoons, right), fill = "violetred") +
geom_moon(
data = subset(tidymoons, !right), fill = "turquoise3",
key_glyph = draw_key_moon_left
) +
lims(x = c(0.5, 3.5), y = c(0.5, 3.5)) +
scale_size("size", range = c(5, 10), breaks = 2^(1:3))
## ---- fig.width = 4.5, fig.height = 2.5---------------------------------------
ggplot(tidymoons) +
geom_moon(
aes(x, y, ratio = ratio, right = right, fill = right, size = 2^x),
key_glyph = draw_key_full_moon
) +
lims(x = c(0.5, 3.5), y = c(0.5, 3.5)) +
scale_size("size", range = c(5, 10), breaks = 2^(1:3)) +
scale_fill_manual(values = c("firebrick1", "dodgerblue2")) +
theme(legend.box = "horizontal")
## ---- fig.width = 6, fig.height = 5.45----------------------------------------
dmeladh_adj <- dmeladh
dmeladh_adj$long <- dmeladh$Longitude + c(
-2, 0, -2, 2, -3, 3, 3, 2, 3, 4, -2.5, -2.5, -1, -2, -2.5, -4, 2.5,
5, 6, 7, 2, -7, -5.5, -3, 0, -7, -2, 3, 5.5, 0.5, -1, -1.5, -3, 2)
dmeladh_adj$lat <- dmeladh$Latitude + c(
-2, 2, 0, 1, 0, 0, 0, 2, 0.5, -1, 1, -1.5, 2, 4, 1.5, 0, 2,
1, -1, -3, -2, 1, -1, -2, -3, -2, -4, -3, -1, 1.5, 2, 2, -2, 0)
moonmap <- ggplot(dmeladh_adj, aes(long, lat)) +
geom_polygon(
data = map_data(
"world", region = "(Australia)|(Indonesia)|(Papua New Guinea)"),
aes(group = group),
fill = "gray80"
) +
geom_segment(aes(xend = Longitude, yend = Latitude), color = "gray20") +
geom_point(aes(Longitude, Latitude), size = 0.75, color = "gray20") +
scale_size(range = c(4, 10)) +
coord_map(xlim = c(110, 160), ylim = c(-45, -5)) +
theme_void() +
theme(
legend.position = c(0.05, 0.05),
legend.direction = "horizontal",
legend.justification = c(0, 0)
)
moonmap +
geom_moon(
aes(ratio = AdhS / 100, size = N),
right = FALSE, fill = "gold", color = "gold",
key_glyph = draw_key_moon_left
) +
geom_moon(
aes(ratio = AdhF / 100, size = N),
fill = "forestgreen", color = "forestgreen"
)
## ---- fig.width = 6, fig.height = 5.45----------------------------------------
tidyadh <- reshape(
dmeladh_adj,
varying = c("AdhF", "AdhS"),
v.names = "percent",
timevar = "allele",
times = c("AdhF", "AdhS"),
idvar = c("Locality", "Latitude", "Longitude", "long", "lat", "N"),
direction = "long"
)
tidyadh$right <- rep(c(TRUE, FALSE), each = nrow(dmeladh_adj))
moonmap +
geom_moon(
data = tidyadh, key_glyph = draw_key_full_moon,
aes(ratio = percent / 100, fill = allele, color = allele, right = right,
size = N)
) +
scale_fill_manual(values = c("forestgreen", "gold")) +
scale_color_manual(values = c("forestgreen", "gold"))
## ---- fig.width = 7, fig.height = 3.5-----------------------------------------
moonphase <- subset(lunardist, !is.na(phase))
moonphase$percent <- ifelse(
moonphase$phase == "new", 0, ifelse(moonphase$phase == "full", 1, 0.5))
ggplot(lunardist, aes(date, distance)) +
geom_line() +
# Plotting the lower layer as a full circle also works in most cases
geom_moon(data = moonphase, ratio = 1, size = 5, fill = "black") +
geom_moon(
data = moonphase, aes(ratio = percent),
size = 5, fill = "yellow", right = moonphase$phase == "first quarter"
)
## -----------------------------------------------------------------------------
rest_names <- c(
"Anscombe's Luncheonette", "Chai Squared", "Tukey's Honest Southern Diner",
"Bagels ANOVA", "Spearmint Row"
)
restaurants <- data.frame(
Restaurant = factor(rest_names, levels = rest_names),
Food = c(5, 3, 4, 4, 1),
Decor = c(2, 5, 3, 1, 5),
Service = c(4, 2, 3, 3, 5),
Price = c(4, 5, 2, 5, 2)
)
## ---- echo = FALSE------------------------------------------------------------
knitr::kable(restaurants, align = "lcccc")
## ---- fig.width = 4.5, fig.height = 3-----------------------------------------
# First we reshape the data into "long" format to facilitate plotting
rest_cats <- c("Food", "Decor", "Service", "Price")
tidyrest <- reshape(
restaurants,
varying = rest_cats,
v.names = "Score",
timevar = "Category",
times = factor(rest_cats, levels = rest_cats),
idvar = "Restaurant",
direction = "long"
)
ggplot(tidyrest, aes(0, 0)) +
geom_moon(aes(ratio = (Score - 1) / 4), fill = "black") +
geom_moon(aes(ratio = 1 - (Score - 1) / 4), right = FALSE) +
facet_grid(Restaurant ~ Category, switch = "y") +
theme_minimal() +
theme(
panel.grid = element_blank(),
strip.text.y.left = element_text(angle = 0, hjust = 1),
axis.text = element_blank(),
axis.title = element_blank()
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.