Jonathan Sidi
5 years ago
27 changed files with 0 additions and 5112 deletions
Binary file not shown.
@ -1,28 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
|
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----annoticks, message=FALSE, fig.width=7, fig.height=2.5--------------- |
|||
|
|||
p <- ggplot(msleep, aes(bodywt, brainwt)) + geom_point() |
|||
|
|||
# add identity scale minor ticks on y axis |
|||
p + annotation_ticks(sides = 'l') |
|||
|
|||
# add identity scale minor ticks on x,y axis |
|||
p + annotation_ticks(sides = 'lb') |
|||
|
|||
# log10 scale |
|||
p1 <- p + scale_x_log10() |
|||
|
|||
# add minor ticks on both scales |
|||
p1 + annotation_ticks(sides = 'lb', scale = c('identity','log10')) |
|||
|
|||
|
File diff suppressed because one or more lines are too long
@ -1,71 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----bkde_ash------------------------------------------------------------ |
|||
|
|||
set.seed(1492) |
|||
|
|||
data(geyser, package="MASS") |
|||
|
|||
ggplot(geyser, aes(x=duration)) + |
|||
stat_bkde(alpha=1/2) |
|||
|
|||
ggplot(geyser, aes(x=duration)) + |
|||
geom_bkde(alpha=1/2) |
|||
|
|||
ggplot(geyser, aes(x=duration)) + |
|||
stat_bkde(bandwidth=0.25) |
|||
|
|||
ggplot(geyser, aes(x=duration)) + |
|||
geom_bkde(bandwidth=0.25) |
|||
|
|||
set.seed(1492) |
|||
dat <- data.frame(cond = factor(rep(c("A","B"), each=200)), |
|||
rating = c(rnorm(200),rnorm(200, mean=.8))) |
|||
|
|||
ggplot(dat, aes(x=rating, color=cond)) + geom_bkde(fill="#00000000") |
|||
|
|||
ggplot(dat, aes(x=rating, fill=cond)) + geom_bkde(alpha=0.3) |
|||
|
|||
|
|||
## ------------------------------------------------------------------------ |
|||
|
|||
set.seed(1492) |
|||
|
|||
dat <- data.frame(x=rnorm(100)) |
|||
grid.arrange(ggplot(dat, aes(x)) + stat_ash(), |
|||
ggplot(dat, aes(x)) + stat_bkde(), |
|||
ggplot(dat, aes(x)) + stat_density(), |
|||
nrow=3) |
|||
|
|||
cols <- RColorBrewer::brewer.pal(3, "Dark2") |
|||
ggplot(dat, aes(x)) + |
|||
stat_ash(alpha=1/3, fill=cols[3]) + |
|||
stat_bkde(alpha=1/3, fill=cols[2]) + |
|||
stat_density(alpha=1/3, fill=cols[1]) + |
|||
geom_rug() + |
|||
labs(x=NULL, y="density/estimate") + |
|||
scale_x_continuous(expand=c(0,0)) + |
|||
theme_bw() + |
|||
theme(panel.grid=element_blank()) + |
|||
theme(panel.border=element_blank()) |
|||
|
|||
## ----bkde2d-------------------------------------------------------------- |
|||
|
|||
m <- ggplot(faithful, aes(x = eruptions, y = waiting)) + |
|||
geom_point() + |
|||
xlim(0.5, 6) + |
|||
ylim(40, 110) |
|||
|
|||
m + geom_bkde2d(bandwidth=c(0.5, 4)) |
|||
|
|||
m + stat_bkde2d(bandwidth=c(0.5, 4), aes(fill = ..level..), geom = "polygon") |
|||
|
|||
|
File diff suppressed because one or more lines are too long
@ -1,22 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----dumbbell2, message=FALSE, fig.width=7, fig.height=2.5--------------- |
|||
df <- data.frame(trt=LETTERS[1:5], l=c(20, 40, 10, 30, 50), r=c(70, 50, 30, 60, 80)) |
|||
|
|||
ggplot(df, aes(y=trt, x=l, xend=r)) + |
|||
geom_dumbbell(size=3, color="#e3e2e1", |
|||
colour_x = "#5b8124", colour_xend = "#bad744", |
|||
dot_guide=TRUE, dot_guide_size=0.25) + |
|||
labs(x=NULL, y=NULL, title="ggplot2 geom_dumbbell with dot guide") + |
|||
theme_minimal() + |
|||
theme(panel.grid.major.x=element_line(size=0.05)) + |
|||
theme(panel.grid.major.y=element_blank()) |
|||
|
File diff suppressed because one or more lines are too long
@ -1,56 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----encircle------------------------------------------------------------ |
|||
|
|||
d <- data.frame(x=c(1,1,2),y=c(1,2,2)*100) |
|||
|
|||
gg <- ggplot(d,aes(x,y)) |
|||
|
|||
gg <- gg + |
|||
scale_x_continuous(expand=c(0.5,1)) |
|||
|
|||
gg <- gg + |
|||
scale_y_continuous(expand=c(0.5,1)) |
|||
|
|||
gg + |
|||
geom_encircle(s_shape=1, expand=0) + |
|||
geom_point() |
|||
|
|||
gg + |
|||
geom_encircle(s_shape=1, expand=0.1, colour="red") + |
|||
geom_point() |
|||
|
|||
gg + |
|||
geom_encircle(s_shape=0.5, expand=0.1, colour="purple") + |
|||
geom_point() |
|||
|
|||
gg + |
|||
geom_encircle(data=subset(d, x==1), colour="blue", spread=0.02) + |
|||
geom_point() |
|||
|
|||
gg + |
|||
geom_encircle(data=subset(d, x==2), colour="cyan", spread=0.04) + |
|||
geom_point() |
|||
|
|||
|
|||
## ------------------------------------------------------------------------ |
|||
|
|||
gg <- ggplot(mpg, aes(displ, hwy)) |
|||
|
|||
gg + geom_encircle(data=subset(mpg, hwy>40)) + geom_point() |
|||
|
|||
ss <- subset(mpg,hwy>31 & displ<2) |
|||
|
|||
gg + |
|||
geom_encircle(data=ss, colour="blue", s_shape=0.9, expand=0.07) + |
|||
geom_point() + |
|||
geom_point(data=ss, colour="blue") |
|||
|
File diff suppressed because one or more lines are too long
@ -1,50 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(hrbrthemes) |
|||
library(ggalt) |
|||
library(readr) |
|||
library(dplyr) |
|||
|
|||
|
|||
## ----horizon, message=FALSE, warning=FALSE------------------------------- |
|||
|
|||
sports <- read_tsv("https://github.com/halhen/viz-pub/raw/master/sports-time-of-day/activity.tsv") |
|||
|
|||
sports %>% |
|||
group_by(activity) %>% |
|||
filter(max(p) > 3e-04, |
|||
!grepl('n\\.e\\.c', activity)) %>% |
|||
arrange(time) %>% |
|||
mutate(p_peak = p / max(p), |
|||
p_smooth = (lag(p_peak) + p_peak + lead(p_peak)) / 3, |
|||
p_smooth = coalesce(p_smooth, p_peak)) %>% |
|||
ungroup() %>% |
|||
do({ |
|||
rbind(., |
|||
filter(., time == 0) %>% |
|||
mutate(time = 24*60)) |
|||
}) %>% |
|||
mutate(time = ifelse(time < 3 * 60, time + 24 * 60, time)) %>% |
|||
mutate(activity = reorder(activity, p_peak, FUN=which.max)) %>% |
|||
arrange(activity) %>% |
|||
mutate(activity.f = reorder(as.character(activity), desc(activity))) -> sports |
|||
|
|||
sports <- mutate(sports, time2 = time/60) |
|||
|
|||
|
|||
## ---- message=FALSE, warning=FALSE, fig.height=9.5, fig.width=9.5-------- |
|||
ggplot(sports, aes(time2, p_smooth)) + |
|||
geom_horizon(bandwidth=0.1) + |
|||
facet_grid(activity.f~.) + |
|||
scale_x_continuous(expand=c(0,0), breaks=seq(from = 3, to = 27, by = 3), labels = function(x) {sprintf("%02d:00", as.integer(x %% 24))}) + |
|||
viridis::scale_fill_viridis(name = "Activity relative to peak", discrete=TRUE, |
|||
labels=scales::percent(seq(0, 1, 0.1)+0.1)) + |
|||
labs(x=NULL, y=NULL, title="Peak time of day for sports and leisure", |
|||
subtitle="Number of participants throughout the day compared to peak popularity.\nNote the morning-and-evening everyday workouts, the midday hobbies,\nand the evenings/late nights out.") + |
|||
theme_ipsum_rc(grid="") + |
|||
theme(panel.spacing.y=unit(-0.05, "lines")) + |
|||
theme(strip.text.y = element_text(hjust=0, angle=360)) + |
|||
theme(axis.text.y=element_blank()) |
|||
|
File diff suppressed because one or more lines are too long
@ -1,54 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----lollipop------------------------------------------------------------ |
|||
|
|||
df <- read.csv(text="category,pct |
|||
Other,0.09 |
|||
South Asian/South Asian Americans,0.12 |
|||
Interngenerational/Generational,0.21 |
|||
S Asian/Asian Americans,0.25 |
|||
Muslim Observance,0.29 |
|||
Africa/Pan Africa/African Americans,0.34 |
|||
Gender Equity,0.34 |
|||
Disability Advocacy,0.49 |
|||
European/European Americans,0.52 |
|||
Veteran,0.54 |
|||
Pacific Islander/Pacific Islander Americans,0.59 |
|||
Non-Traditional Students,0.61 |
|||
Religious Equity,0.64 |
|||
Caribbean/Caribbean Americans,0.67 |
|||
Latino/Latina,0.69 |
|||
Middle Eastern Heritages and Traditions,0.73 |
|||
Trans-racial Adoptee/Parent,0.76 |
|||
LBGTQ/Ally,0.79 |
|||
Mixed Race,0.80 |
|||
Jewish Heritage/Observance,0.85 |
|||
International Students,0.87", stringsAsFactors=FALSE, sep=",", header=TRUE) |
|||
|
|||
gg <- ggplot(df, aes(y=reorder(category, pct), x=pct)) |
|||
gg <- gg + geom_lollipop(point.colour="steelblue", point.size=2, horizontal=TRUE) |
|||
gg <- gg + scale_x_continuous(expand=c(0,0), labels=percent, |
|||
breaks=seq(0, 1, by=0.2), limits=c(0, 1)) |
|||
gg <- gg + labs(x=NULL, y=NULL, |
|||
title="SUNY Cortland Multicultural Alumni survey results", |
|||
subtitle="Ranked by race, ethnicity, home land and orientation\namong the top areas of concern", |
|||
caption="Data from http://stephanieevergreen.com/lollipop/") |
|||
gg <- gg + theme_minimal() |
|||
gg <- gg + theme(panel.grid.major.y=element_blank()) |
|||
gg <- gg + theme(panel.grid.minor=element_blank()) |
|||
gg <- gg + theme(axis.line.y=element_line(color="#2b2b2b", size=0.15)) |
|||
gg <- gg + theme(axis.text.y=element_text(margin=margin(r=0, l=0))) |
|||
gg <- gg + theme(plot.margin=unit(rep(30, 4), "pt")) |
|||
gg <- gg + theme(plot.title=element_text(face="bold")) |
|||
gg <- gg + theme(plot.subtitle=element_text(margin=margin(b=10))) |
|||
gg <- gg + theme(plot.caption=element_text(size=8, margin=margin(t=10))) |
|||
gg |
|||
|
File diff suppressed because one or more lines are too long
@ -1,25 +0,0 @@ |
|||
## ----setup, include = FALSE---------------------------------------------- |
|||
knitr::opts_chunk$set( |
|||
collapse = TRUE, |
|||
comment = "#>" |
|||
) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggalt) |
|||
library(proj4) |
|||
|
|||
## ----coord_proj---------------------------------------------------------- |
|||
|
|||
world <- ggplot2::map_data("world") |
|||
|
|||
world <- world[world$region != "Antarctica",] |
|||
|
|||
gg <- ggplot() |
|||
|
|||
gg <- gg + geom_cartogram(data=world, map=world, |
|||
aes(x=long, y=lat, map_id=region)) |
|||
|
|||
gg <- gg + coord_proj("+proj=wintri") |
|||
|
|||
gg |
|||
|
File diff suppressed because one or more lines are too long
@ -1,22 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
|
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----spikelines, message=FALSE, fig.width=7, fig.height=7---------------- |
|||
|
|||
mtcars$name <- rownames(mtcars) |
|||
|
|||
p <- ggplot(data = mtcars, aes(x=mpg,y=disp)) + geom_point() |
|||
|
|||
p + |
|||
geom_spikelines(data = mtcars[mtcars$carb==4,],aes(colour = factor(gear)), linetype = 2) + |
|||
ggrepel::geom_label_repel(data = mtcars[mtcars$carb==4,],aes(label = name)) |
|||
|
|||
|
File diff suppressed because one or more lines are too long
@ -1,59 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ------------------------------------------------------------------------ |
|||
|
|||
set.seed(1492) |
|||
|
|||
dat <- data.frame(x=c(1:10, 1:10, 1:10), |
|||
y=c(sample(15:30, 10), 2*sample(15:30, 10), 3*sample(15:30, 10)), |
|||
group=factor(c(rep(1, 10), rep(2, 10), rep(3, 10))) |
|||
) |
|||
|
|||
## ----splines------------------------------------------------------------- |
|||
ggplot(dat, aes(x, y, group=group, color=group)) + |
|||
geom_point() + |
|||
geom_line() |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point() + |
|||
geom_line() + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(spline_shape=-0.4, size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(spline_shape=0.4, size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(spline_shape=1, size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(spline_shape=0, size=0.5) |
|||
|
|||
ggplot(dat, aes(x, y, group=group, color=factor(group))) + |
|||
geom_point(color="black") + |
|||
geom_smooth(se=FALSE, linetype="dashed", size=0.5) + |
|||
geom_xspline(spline_shape=-1, size=0.5) |
|||
|
File diff suppressed because one or more lines are too long
@ -1,31 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----stateface----------------------------------------------------------- |
|||
|
|||
set.seed(1492) |
|||
|
|||
dat <- data.frame(state=state.abb, |
|||
x=sample(100, 50), |
|||
y=sample(100, 50), |
|||
col=sample(c("#b2182b", "#2166ac"), 50, replace=TRUE), |
|||
sz=sample(6:15, 50, replace=TRUE), |
|||
stringsAsFactors=FALSE) |
|||
|
|||
gg <- ggplot(dat, aes(x=x, y=y)) |
|||
|
|||
gg <- gg + geom_stateface(aes(label=state, color=col, size=sz)) |
|||
|
|||
gg <- gg + scale_color_identity() |
|||
|
|||
gg <- gg + scale_size_identity() |
|||
|
|||
gg |
|||
|
File diff suppressed because one or more lines are too long
@ -1,31 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----stepribbon---------------------------------------------------------- |
|||
|
|||
x <- 1:10 |
|||
|
|||
df <- data.frame(x=x, y=x+10, ymin=x+7, ymax=x+12) |
|||
|
|||
gg <- ggplot(df, aes(x, y)) |
|||
gg <- gg + geom_ribbon(aes(ymin=ymin, ymax=ymax), |
|||
stat="stepribbon", fill="#b2b2b2") |
|||
gg <- gg + geom_step(color="#2b2b2b") |
|||
gg |
|||
|
|||
|
|||
## ------------------------------------------------------------------------ |
|||
gg <- ggplot(df, aes(x, y)) |
|||
gg <- gg + geom_ribbon(aes(ymin=ymin, ymax=ymax), |
|||
stat="stepribbon", fill="#b2b2b2", |
|||
direction="vh") |
|||
gg <- gg + geom_step(color="#2b2b2b") |
|||
gg |
|||
|
File diff suppressed because one or more lines are too long
@ -1,14 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ------------------------------------------------------------------------ |
|||
ggplot(economics, aes(date, uempmed)) + |
|||
geom_ubar() |
|||
|
File diff suppressed because one or more lines are too long
@ -1,24 +0,0 @@ |
|||
## ----include=FALSE------------------------------------------------------- |
|||
knitr::opts_chunk$set(collapse=TRUE, comment="##", fig.retina=1, fig.height=6, fig.width=8,message=FALSE,warning = FALSE) |
|||
|
|||
## ------------------------------------------------------------------------ |
|||
library(ggplot2) |
|||
library(gridExtra) |
|||
library(ggalt) |
|||
library(scales) |
|||
|
|||
|
|||
## ----dumbbellv, message=FALSE, fig.width=7, fig.height=2.5--------------- |
|||
df2 <- data.frame(trt = c(LETTERS[1:5], "D"), |
|||
l = c(20, 40, 10, 30, 50, 40), |
|||
r = c(70, 50, 30, 60, 80, 70)) |
|||
|
|||
ggplot(df2, aes(y=trt, x=l, xend=r)) + |
|||
geom_dumbbell(size=3, color="#e3e2e1", |
|||
colour_x = "#5b8124", colour_xend = "#bad744", |
|||
dot_guide=TRUE, dot_guide_size=0.25, |
|||
position=position_dodgev(height=0.8)) + |
|||
labs(x=NULL, y=NULL, title="ggplot2 geom_dumbbell with dot guide") + |
|||
theme_minimal() + |
|||
theme(panel.grid.major.x=element_line(size=0.05)) |
|||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue