그래프 > 색 팔레트...
Graphs > Color palette...
<색 팔레트...> 기능을 선택하면 8개의 주요 색깔이 등장하고 그 색의 16진수(hexadecimal)값과 이름이 표시된다.
다섯째 색인 cyan, 일곱째 색인 yellow를 각각 gold, orange로 바꿔보자.
gold의 16진수 값인 #fad800, orange의 16진수 값인 #ffa500을 기억하자. cyan의 16진수 값인 #00ffff, yellow의 16진수 값인 #ffff00을 기억하자. gold를 cyan으로, orange를 yellow로 다시 바꿔보자. Selection: #fad800을 cyan의 #00ffff로 바꾸고 실행(엔터키)을 한다.
yellow로 바꾸려면, 16진수 값 #ffff00을 입력하고 실행(엔터키)을 한다. 다음과 같이 바뀔 것이다:
?palette # grDevices 패키지의 palette 도움말 보기
require(graphics)
palette() # obtain the current palette
palette("R3");palette() # old default palette
palette("ggplot2") # ggplot2-style palette
palette()
palette(hcl.colors(8, "viridis"))
(palette(gray(seq(0,.9,len = 25)))) # gray scales; print old palette
matplot(outer(1:100, 1:30), type = "l", lty = 1,lwd = 2, col = 1:30,
main = "Gray Scales Palette",
sub = "palette(gray(seq(0, .9, len=25)))")
palette("default") # reset back to the default
## on a device where alpha transparency is supported,
## use 'alpha = 0.3' transparency with the default palette :
mycols <- adjustcolor(palette(), alpha.f = 0.3)
opal <- palette(mycols)
x <- rnorm(1000); xy <- cbind(x, 3*x + rnorm(1000))
plot (xy, lwd = 2,
main = "Alpha-Transparency Palette\n alpha = 0.3")
xy[,1] <- -xy[,1]
points(xy, col = 8, pch = 16, cex = 1.5)
palette("default")
## List available built-in palettes
palette.pals()
## Demonstrate the colors 1:8 in different palettes using a custom matplot()
sinplot <- function(main=NULL) {
x <- outer(
seq(-pi, pi, length.out = 50),
seq(0, pi, length.out = 8),
function(x, y) sin(x - y)
)
matplot(x, type = "l", lwd = 4, lty = 1, col = 1:8, ylab = "", main=main)
}
sinplot("default palette")
palette("R3"); sinplot("R3")
palette("Okabe-Ito"); sinplot("Okabe-Ito")
palette("Tableau") ; sinplot("Tableau")
palette("default") # reset
## color swatches for palette.colors()
palette.swatch <- function(palette = palette.pals(), n = 8, nrow = 8,
border = "black", cex = 1, ...)
{
cols <- sapply(palette, palette.colors, n = n, recycle = TRUE)
ncol <- ncol(cols)
nswatch <- min(ncol, nrow)
op <- par(mar = rep(0.1, 4),
mfrow = c(1, min(5, ceiling(ncol/nrow))),
cex = cex, ...)
on.exit(par(op))
while (length(palette)) {
subset <- seq_len(min(nrow, ncol(cols)))
plot.new()
plot.window(c(0, n), c(0.25, nrow + 0.25))
y <- rev(subset)
text(0, y + 0.1, palette[subset], adj = c(0, 0))
y <- rep(y, each = n)
rect(rep(0:(n-1), n), y, rep(1:n, n), y - 0.5,
col = cols[, subset], border = border)
palette <- palette[-subset]
cols <- cols [, -subset, drop = FALSE]
}
}
palette.swatch()
palette.swatch(n = 26) # show full "Alphabet"; recycle most others