Nothing
## ----echo = FALSE-------------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
## ----basic_usage--------------------------------------------------------------
library(qualpalr)
pal <- qualpal(n = 5, list(h = c(0, 360), s = c(0.4, 0.6), l = c(0.5, 0.85)))
# Adapt the color space to deuteranomaly of severity 0.7
pal <- qualpal(n = 5, colorspace = "pretty", cvd = "deutan", cvd_severity = 0.7)
## ----qualpal_list-------------------------------------------------------------
pal
## ----fig.show='hold'----------------------------------------------------------
# Multidimensional scaling plot
plot(pal)
# Pairs plot in the Lab color space
pairs(pal, colorspace = "DIN99d")
## ----map, fig.width=5, fig.height=5-------------------------------------------
library(maps)
map("france", fill = TRUE, col = pal$hex, mar = c(0, 0, 0, 0))
## ----details_input, echo=FALSE------------------------------------------------
options(rgl.useNULL = TRUE)
library(rgl)
# Set up color subspace as in qualpal()
h <- c(-200, 120)
s <- c(0.3, 0.8)
l <- c(0.4, 0.9)
# Generate a quasi-random tour sequence
rnd <- randtoolbox::sobol(1000, dim = 3, scrambling = 2)
# Convert random sequence to specified color space
scale_runif <- function(x, new_min, new_max) {
(new_max - new_min) * (x - 1) + new_max
}
rnd[, 2] <- sqrt(rnd[, 2])
H <- scale_runif(rnd[, 1], min(h), max(h))
S <- scale_runif(rnd[, 2], min(s), max(s))
L <- scale_runif(rnd[, 3], min(l), max(l))
# S <- sqrt(S) # adjust to the fact that we're sampling from a cylinder
HSL <- cbind(H, S, L)
HSL[HSL[, 1] < 0, 1] <- HSL[HSL[, 1] < 0, 1] + 360
# Set up variables to produce the HSL cylinder
x <- S * cos(H * pi / 180)
y <- S * sin(H * pi / 180)
# Convert to RGB to enable coloring
RGB <- qualpalr:::HSL_RGB(HSL)
plot3d(cbind(x, y, L), col = rgb(RGB), main = "HSL")
rglwidget()
## ----RGB_space, echo=FALSE----------------------------------------------------
plot3d(RGB, col = rgb(RGB), main = "RGB")
rglwidget()
## ----DIN_space, echo=FALSE----------------------------------------------------
XYZ <- qualpalr:::sRGB_XYZ(RGB)
DIN99d <- qualpalr:::XYZ_DIN99d(XYZ)
plot3d(DIN99d, col = rgb(RGB), main = "DIN99d")
rglwidget()
## ----selected_points, echo=FALSE----------------------------------------------
pal <- qualpal(5, list(h = c(-200, 120), s = c(0.3, 0.8), l = c(0.4, 0.9)))
plot3d(DIN99d, col = rgb(RGB), main = "DIN99d", alpha = 0.1)
plot3d(pal$DIN99d, col = pal$hex, main = "DIN99d", add = TRUE, size = 5)
rglwidget()
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.