colorRamp
位於 grDevices
包(package)。 說明
這些函數返回插入一組給定顏色以創建新調色板(如 topo.colors
)和色帶的函數,這些函數將間隔 映射到顏色(如 grey
)。
用法
colorRamp(colors, bias = 1, space = c("rgb", "Lab"),
interpolate = c("linear", "spline"), alpha = FALSE)
colorRampPalette(colors, ...)
參數
colors |
要插值的顏色;必須是 |
bias |
一個正數。較高的值會在高端提供更廣泛的顏色間隔。 |
space |
一個字符串; RGB 或 CIE Lab 色彩空間中的插值。 |
interpolate |
使用樣條曲線或線性插值。 |
alpha |
邏輯:是否應該返回 alpha 通道(不透明度)值?如果指定 |
... |
要傳遞給 |
細節
CIE Lab 色彩空間在感知上大致均勻,因此可以提供更平滑、更均勻的色帶。另一方麵,通過白色從一種色調變為另一種色調的調色板在 RGB 空間中可能具有更對稱的外觀。
此函數中的轉換公式似乎並不完全準確,並且色帶可能無法達到 Lab 空間中的極值。未來的變化R顏色模型可能會改變產生的顏色space = "Lab"
.
值
colorRamp
返回一個 function
,參數為 0 到 1 之間的值向量,該向量映射到 RGB 顏色值的數字矩陣,每種顏色一行,3 或 4 列。
colorRampPalette
返回一個函數,該函數采用整數參數(所需的顏色數量)並返回顏色字符向量(請參閱 rgb
),內插給定序列(類似於 heat.colors
或 terrain.colors
)。
例子
## Both return a *function* :
colorRamp(c("red", "green"))( (0:4)/4 ) ## (x) , x in [0,1]
colorRampPalette(c("blue", "red"))( 4 ) ## (n)
## a ramp in opacity of blue values
colorRampPalette(c(rgb(0,0,1,1), rgb(0,0,1,0)), alpha = TRUE)(8)
require(graphics)
## Here space="rgb" gives palettes that vary only in saturation,
## as intended.
## With space="Lab" the steps are more uniform, but the hues
## are slightly purple.
filled.contour(volcano,
color.palette =
colorRampPalette(c("red", "white", "blue")),
asp = 1)
filled.contour(volcano,
color.palette =
colorRampPalette(c("red", "white", "blue"),
space = "Lab"),
asp = 1)
## Interpolating a 'sequential' ColorBrewer palette
YlOrBr <- c("#FFFFD4", "#FED98E", "#FE9929", "#D95F0E", "#993404")
filled.contour(volcano,
color.palette = colorRampPalette(YlOrBr, space = "Lab"),
asp = 1)
filled.contour(volcano,
color.palette = colorRampPalette(YlOrBr, space = "Lab",
bias = 0.5),
asp = 1)
## 'jet.colors' is "as in Matlab"
## (and hurting the eyes by over-saturation)
jet.colors <-
colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
"#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
filled.contour(volcano, color.palette = jet.colors, asp = 1)
## space="Lab" helps when colors don't form a natural sequence
m <- outer(1:20,1:20,function(x,y) sin(sqrt(x*y)/3))
rgb.palette <- colorRampPalette(c("red", "orange", "blue"),
space = "rgb")
Lab.palette <- colorRampPalette(c("red", "orange", "blue"),
space = "Lab")
filled.contour(m, col = rgb.palette(20))
filled.contour(m, col = Lab.palette(20))
也可以看看
插值的良好起點是 RColorBrewer
包中的 “sequential” 和 “diverging” ColorBrewer 調色板。
相關用法
- R colors 顏色名稱
- R col2rgb 顏色到 RGB 轉換
- R convertColor 在色彩空間之間轉換
- R contourLines 計算輪廓線
- R chull 計算一組點的凸包
- R check.options 設置帶有一致性檢查的選項
- R cairo 基於 Cairgraphics 的 SVG、PDF 和 PostScript 圖形設備
- R cm 單位改造
- R cairoSymbolFont 指定符號字體
- R axisTicks 計算漂亮的軸刻度
- R hcl HCL 顏色規格
- R quartzFonts 石英字體
- R as.graphicsAnnot 強製圖形注釋對象
- R xyTable (x,y) 點的重數,例如,對於向日葵圖
- R dev.interactive 當前圖形設備是否具有交互性?
- R X11Fonts X11 字體
- R plotmath R 中的數學注釋
- R dev.capture 將設備輸出捕獲為光柵圖像
- R dev.size 查找設備表麵的尺寸
- R pdf.options 設置/查看 pdf 參數默認值的輔助函數
- R densCols 平滑密度圖的顏色
- R windows Windows 圖形設備
- R rgb RGB 顏色規格
- R msgWindow 操縱窗口
- R dev.flush 保持或刷新屏幕圖形設備上的輸出
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Color interpolation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。