137 lines
6.7 KiB
R
137 lines
6.7 KiB
R
## ----setup, include=FALSE-----------------------------------------------------
|
|
library(viridis)
|
|
knitr::opts_chunk$set(echo = TRUE, fig.retina=2, fig.width=7, fig.height=5)
|
|
|
|
## ----tldr_base, message=FALSE-------------------------------------------------
|
|
x <- y <- seq(-8*pi, 8*pi, len = 40)
|
|
r <- sqrt(outer(x^2, y^2, "+"))
|
|
filled.contour(cos(r^2)*exp(-r/(2*pi)),
|
|
axes=FALSE,
|
|
color.palette=viridis,
|
|
asp=1)
|
|
|
|
## ----tldr_ggplot, message=FALSE-----------------------------------------------
|
|
library(ggplot2)
|
|
ggplot(data.frame(x = rnorm(10000), y = rnorm(10000)), aes(x = x, y = y)) +
|
|
geom_hex() + coord_fixed() +
|
|
scale_fill_viridis() + theme_bw()
|
|
|
|
## ----for_repeat, include=FALSE------------------------------------------------
|
|
n_col <- 128
|
|
|
|
img <- function(obj, nam) {
|
|
image(1:length(obj), 1, as.matrix(1:length(obj)), col=obj,
|
|
main = nam, ylab = "", xaxt = "n", yaxt = "n", bty = "n")
|
|
}
|
|
|
|
## ----begin, message=FALSE, include=FALSE--------------------------------------
|
|
library(viridis)
|
|
library(scales)
|
|
library(colorspace)
|
|
library(dichromat)
|
|
|
|
## ----show_scales, echo=FALSE, fig.height=3.575--------------------------------
|
|
par(mfrow=c(8, 1), mar=rep(1, 4))
|
|
img(rev(viridis(n_col)), "viridis")
|
|
img(rev(magma(n_col)), "magma")
|
|
img(rev(plasma(n_col)), "plasma")
|
|
img(rev(inferno(n_col)), "inferno")
|
|
img(rev(cividis(n_col)), "cividis")
|
|
img(rev(mako(n_col)), "mako")
|
|
img(rev(rocket(n_col)), "rocket")
|
|
img(rev(turbo(n_col)), "turbo")
|
|
|
|
## ----01_normal, echo=FALSE----------------------------------------------------
|
|
par(mfrow=c(7, 1), mar=rep(1, 4))
|
|
img(rev(rainbow(n_col)), "rainbow")
|
|
img(rev(heat.colors(n_col)), "heat")
|
|
img(rev(seq_gradient_pal(low = "#132B43", high = "#56B1F7", space = "Lab")(seq(0, 1, length=n_col))), "ggplot default")
|
|
img(gradient_n_pal(brewer_pal(type="seq")(9))(seq(0, 1, length=n_col)), "brewer blues")
|
|
img(gradient_n_pal(brewer_pal(type="seq", palette = "YlGnBu")(9))(seq(0, 1, length=n_col)), "brewer yellow-green-blue")
|
|
img(rev(viridis(n_col)), "viridis")
|
|
img(rev(magma(n_col)), "magma")
|
|
|
|
## ----02_deutan, echo=FALSE----------------------------------------------------
|
|
par(mfrow=c(7, 1), mar=rep(1, 4))
|
|
img(dichromat(rev(rainbow(n_col)), "deutan"), "rainbow")
|
|
img(dichromat(rev(heat.colors(n_col)), "deutan"), "heat")
|
|
img(dichromat(rev(seq_gradient_pal(low = "#132B43", high = "#56B1F7", space = "Lab")(seq(0, 1, length=n_col))), "deutan"), "ggplot default")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq")(9))(seq(0, 1, length=n_col)), "deutan"), "brewer blues")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq", palette = "YlGnBu")(9))(seq(0, 1, length=n_col)), "deutan"), "brewer yellow-green-blue")
|
|
img(dichromat(rev(viridis(n_col)), "deutan"), "viridis")
|
|
img(dichromat(rev(magma(n_col)), "deutan"), "magma")
|
|
|
|
## ----03_protan, echo=FALSE----------------------------------------------------
|
|
par(mfrow=c(7, 1), mar=rep(1, 4))
|
|
img(dichromat(rev(rainbow(n_col)), "protan"), "rainbow")
|
|
img(dichromat(rev(heat.colors(n_col)), "protan"), "heat")
|
|
img(dichromat(rev(seq_gradient_pal(low = "#132B43", high = "#56B1F7", space = "Lab")(seq(0, 1, length=n_col))), "protan"), "ggplot default")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq")(9))(seq(0, 1, length=n_col)), "protan"), "brewer blues")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq", palette = "YlGnBu")(9))(seq(0, 1, length=n_col)), "protan"), "brewer yellow-green-blue")
|
|
img(dichromat(rev(viridis(n_col)), "protan"), "viridis")
|
|
img(dichromat(rev(magma(n_col)), "protan"), "magma")
|
|
|
|
## ----04_tritan, echo=FALSE----------------------------------------------------
|
|
par(mfrow=c(7, 1), mar=rep(1, 4))
|
|
img(dichromat(rev(rainbow(n_col)), "tritan"), "rainbow")
|
|
img(dichromat(rev(heat.colors(n_col)), "tritan"), "heat")
|
|
img(dichromat(rev(seq_gradient_pal(low = "#132B43", high = "#56B1F7", space = "Lab")(seq(0, 1, length=n_col))), "tritan"), "ggplot default")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq")(9))(seq(0, 1, length=n_col)), "tritan"), "brewer blues")
|
|
img(dichromat(gradient_n_pal(brewer_pal(type="seq", palette = "YlGnBu")(9))(seq(0, 1, length=n_col)), "tritan"), "brewer yellow-green-blue")
|
|
img(dichromat(rev(viridis(n_col)), "tritan"), "viridis")
|
|
img(dichromat(rev(magma(n_col)), "tritan"), "magma")
|
|
|
|
## ----05_desatureated, echo=FALSE----------------------------------------------
|
|
par(mfrow=c(7, 1), mar=rep(1, 4))
|
|
img(desaturate(rev(rainbow(n_col))), "rainbow")
|
|
img(desaturate(rev(heat.colors(n_col))), "heat")
|
|
img(desaturate(rev(seq_gradient_pal(low = "#132B43", high = "#56B1F7", space = "Lab")(seq(0, 1, length=n_col)))), "ggplot default")
|
|
img(desaturate(gradient_n_pal(brewer_pal(type="seq")(9))(seq(0, 1, length=n_col))), "brewer blues")
|
|
img(desaturate(gradient_n_pal(brewer_pal(type="seq", palette = "YlGnBu")(9))(seq(0, 1, length=n_col))), "brewer yellow-green-blue")
|
|
img(desaturate(rev(viridis(n_col))), "viridis")
|
|
img(desaturate(rev(magma(n_col))), "magma")
|
|
|
|
## ----tempmap, message=FALSE---------------------------------------------------
|
|
library(terra)
|
|
library(httr)
|
|
par(mfrow=c(1,1), mar=rep(0.5, 4))
|
|
temp_raster <- "http://ftp.cpc.ncep.noaa.gov/GIS/GRADS_GIS/GeoTIFF/TEMP/us_tmax/us.tmax_nohads_ll_20150219_float.tif"
|
|
try(GET(temp_raster,
|
|
write_disk("us.tmax_nohads_ll_20150219_float.tif")), silent=TRUE)
|
|
us <- rast("us.tmax_nohads_ll_20150219_float.tif")
|
|
us <- project(us, y="+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
|
|
image(us, col=inferno(256), asp=1, axes=FALSE, xaxs="i", xaxt='n', yaxt='n', ann=FALSE)
|
|
|
|
## ----ggplot2------------------------------------------------------------------
|
|
library(maps)
|
|
library(mapproj)
|
|
|
|
data(unemp, package = "viridis")
|
|
|
|
county_df <- map_data("county", projection = "albers", parameters = c(39, 45))
|
|
names(county_df) <- c("long", "lat", "group", "order", "state_name", "county")
|
|
county_df$state <- state.abb[match(county_df$state_name, tolower(state.name))]
|
|
county_df$state_name <- NULL
|
|
|
|
state_df <- map_data("state", projection = "albers", parameters = c(39, 45))
|
|
|
|
choropleth <- merge(county_df, unemp, by = c("state", "county"))
|
|
choropleth <- choropleth[order(choropleth$order), ]
|
|
|
|
ggplot(choropleth, aes(long, lat, group = group)) +
|
|
geom_polygon(aes(fill = rate), colour = alpha("white", 1 / 2), linewidth = 0.2) +
|
|
geom_polygon(data = state_df, colour = "white", fill = NA) +
|
|
coord_fixed() +
|
|
theme_minimal() +
|
|
ggtitle("US unemployment rate by county") +
|
|
theme(axis.line = element_blank(), axis.text = element_blank(),
|
|
axis.ticks = element_blank(), axis.title = element_blank()) +
|
|
scale_fill_viridis(option="magma")
|
|
|
|
## ----discrete-----------------------------------------------------------------
|
|
p <- ggplot(mtcars, aes(wt, mpg))
|
|
p + geom_point(size=4, aes(colour = factor(cyl))) +
|
|
scale_color_viridis(discrete=TRUE) +
|
|
theme_bw()
|
|
|