當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R as.raster 創建光柵對象


R語言 as.raster 位於 grDevices 包(package)。

說明

創建光柵對象(表示位圖圖像)並將其他對象強製為光柵對象的函數。

用法

is.raster(x)
as.raster(x, ...)

## S3 method for class 'matrix'
as.raster(x, max = 1, ...)
## S3 method for class 'array'
as.raster(x, max = 1, ...)

## S3 method for class 'logical'
as.raster(x, max = 1, ...)
## S3 method for class 'numeric'
as.raster(x, max = 1, ...)
## S3 method for class 'character'
as.raster(x, max = 1, ...)
## S3 method for class 'raw'
as.raster(x, max = 255L, ...)

參數

x

任何R對象。

max

給出顏色值範圍最大值的數字。

...

傳入或傳出其他方法的進一步參數。

細節

"raster" 類的對象是表示位圖圖像的 rgb 給出的顏色值矩陣。

預計用戶不需要直接調用這些函數;在圖形包中渲染位圖圖像的函數將利用 as.raster() 函數從其輸入生成光柵對象。

as.raster()函數是(S3)通用的,因此可以編寫方法來轉換其他函數R對象到光柵對象。

數值矩陣的默認實現解釋 black-to-white 尺度上的標量值。

柵格對象可以像矩陣一樣進行子集化,並且可以分配給柵格對象的子集。

有一種方法可以將光柵對象轉換為matrix(顏色字符串)。

可以比較柵格對象的相等性或不相等性(相互比較或與顏色字符串比較)。

有一個 is.na 方法,它返回與柵格對象維度相同的邏輯矩陣。請注意,NA 值被某些(但不是全部)圖形設備解釋為完全透明的顏色。

對於 as.raster() ,一個光柵對象。

對於 is.raster() ,指示 x 是否為柵格對象的邏輯。

注意

光柵圖像在內部表示為row-first,這在嘗試操作光柵對象時可能會導致混亂。推薦的方法是將柵格強製轉換為矩陣,執行操作,然後轉換回柵格。

例子

# A red gradient
as.raster(matrix(hcl(0, 80, seq(50, 80, 10)),
                 nrow = 4, ncol = 5))

# Vectors are 1-column matrices ...
#   character vectors are color names ...
as.raster(hcl(0, 80, seq(50, 80, 10)))
#   numeric vectors are greyscale ...
as.raster(1:5, max = 5)
#   logical vectors are black and white ...
as.raster(1:10 %% 2 == 0)

# ... unless nrow/ncol are supplied ...
as.raster(1:10 %% 2 == 0, nrow = 1)

# Matrix can also be logical or numeric (or raw) ...
as.raster(matrix(c(TRUE, FALSE), nrow = 3, ncol = 2))
as.raster(matrix(1:3/4, nrow = 3, ncol = 4))

# An array can be 3-plane numeric (R, G, B planes) ...
as.raster(array(c(0:1, rep(0.5, 4)), c(2, 1, 3)))

# ... or 4-plane numeric (R, G, B, A planes)
as.raster(array(c(0:1, rep(0.5, 6)), c(2, 1, 4)))

# subsetting
r <- as.raster(matrix(colors()[1:100], ncol = 10))
r[, 2]
r[2:4, 2:5]

# assigning to subset
r[2:4, 2:5] <- "white"

# comparison
r == "white"


相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Create a Raster Object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。