当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R palette 设置或查看图形调色板


R语言 palette 位于 grDevices 包(package)。

说明

查看或操作col= 具有数字索引和支持函数时使用的调色板。

用法

palette(value)
palette.pals()
palette.colors(n = NULL, palette = "Okabe-Ito", alpha, recycle = FALSE,
               names = FALSE)

参数

value

指定新调色板的可选字符向量(请参阅详细信息)。

n

从调色板中选择的颜色数量。默认NULL 选择给定调色板的所有颜色。

palette

有效的调色板名称(palette.pals() 之一)。该名称与可用调色板列表相匹配,忽略匹配中的大小写、空格、破折号等。

alpha

alpha-transparency 级别在 [0,1] 范围内(0 表示透明,1 表示不透明)。

recycle

逻辑指示 n > length(palette(.)) 情况下发生的情况。默认情况下 ( recycle = FALSE ),结果与 n = NULL 相同,但带有警告。

names

逻辑指示是否应返回命名的颜色向量(前提是调色板具有其颜色的任何名称)。

细节

palette() 函数获取或设置当前调色板,palette.pals() 函数列出可用的预定义调色板,palette.colors() 函数从预定义调色板中选择颜色。

调色板和按数字引用颜色(参见例如par)是为了与 S 兼容而提供的。R扩展和改进了可用的调色板集。

如果value的长度为1,则它被视为内置调色板的名称。可用的调色板名称由 palette.pals() 返回。也可以指定 "default"

如果 value 的长度大于 1,则假定包含构成新调色板的颜色的说明。调色板的最大大小为 1024 个条目。

如果省略 value,则不会对当前调色板进行任何更改。

一个调色板中的所有设备只有一个调色板设置R会议。如果更改调色板,则新调色板将应用于所有后续绘图。

当前调色板也适用于重新绘图(例如,如果调整屏幕设备大小或使用dev.copyreplayPlot)。调色板会在每页开始时以及更改时记录在显示列表中。

palette() 返回一个字符向量,给出有效调色板中的颜色。除非省略参数,否则这是invisible

palette.pals() 返回一个字符向量,给出预定义调色板的名称。

palette.colors() 返回 R 颜色向量。默认情况下(如果 names = FALSE 该向量没有名称。如果 names = TRUE ,该函数会尝试返回一个命名向量(如果可能),即对于那些为其颜色提供名称的调色板(例如, "Okabe-Ito""Tableau 10" ,或"Alphabet" )。

例子

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,length.out = 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

也可以看看

colors 为内置命名颜色向量; hsv , gray , hcl.colors , ... 构造颜色。

adjustcolor ,例如,用于调整现有调色板; colorRamp 插入颜色,制作自定义调色板; col2rgb 用于将颜色转换为 RGB 3 向量。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Set or View the Graphics Palette。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。