scale_*_gradient 創建兩個顏色漸變 (low-high),scale_*_gradient2 創建發散顏色漸變 (low-mid-high),scale_*_gradientn 創建 n-colour 漸變。有關這些尺度的分箱變體,請參閱color steps 尺度。
用法
scale_colour_gradient(
...,
low = "#132B43",
high = "#56B1F7",
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "colour"
)
scale_fill_gradient(
...,
low = "#132B43",
high = "#56B1F7",
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "fill"
)
scale_colour_gradient2(
...,
low = muted("red"),
mid = "white",
high = muted("blue"),
midpoint = 0,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "colour"
)
scale_fill_gradient2(
...,
low = muted("red"),
mid = "white",
high = muted("blue"),
midpoint = 0,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "fill"
)
scale_colour_gradientn(
...,
colours,
values = NULL,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "colour",
colors
)
scale_fill_gradientn(
...,
colours,
values = NULL,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "fill",
colors
)
參數
- ...
-
參數傳遞給
continuous_scalescale_name-
應用於與該比例關聯的錯誤消息的比例名稱。
palette-
調色板函數,當使用值介於 0 和 1 之間的數值向量調用時,會返回相應的輸出值(例如
scales::area_pal())。 name-
秤的名稱。用作軸或圖例標題。如果
waiver()(默認值),則比例名稱取自用於該美學的第一個映射。如果是NULL,則圖例標題將被省略。 breaks-
之一:
-
NULL不間斷 -
waiver()用於由 transformation object 計算的默認中斷 -
位置的數值向量
-
將限製作為輸入並返回中斷作為輸出的函數(例如
scales::extended_breaks()返回的函數)。還接受 rlang lambda 函數表示法。
-
minor_breaks-
之一:
n.breaks-
指導主要中斷次數的整數。該算法可能會選擇稍微不同的數字以確保良好的中斷標簽。僅在
breaks = waiver()時有效。使用NULL使用轉換給出的默認中斷數。 labels-
之一:
limits-
之一:
-
NULL使用默認比例範圍 -
長度為 2 的數值向量,提供尺度限製。使用
NA來引用現有的最小值或最大值 -
接受現有(自動)限製並返回新限製的函數。還接受 rlang lambda 函數表示法。請注意,對位置比例設置限製將刪除限製之外的數據。如果目的是縮放,請使用坐標係中的 limit 參數(請參閱
coord_cartesian())。
-
rescaler-
用於將輸入值縮放到範圍 [0, 1] 的函數。這始終是
scales::rescale(),除了發散和 n 顏色漸變(即scale_colour_gradient2()、scale_colour_gradientn())。rescaler被位置刻度忽略,位置刻度始終使用scales::rescale()。還接受 rlang lambda 函數表示法。 oob-
之一:
-
處理超出範圍限製(越界)的函數。還接受 rlang lambda 函數表示法。
-
默認值 (
scales::censor()) 將超出範圍的值替換為NA。 -
scales::squish()用於將超出範圍的值壓縮到範圍內。 -
scales::squish_infinite()用於將無限值壓縮到範圍內。
-
trans-
對於連續比例,變換對象的名稱或對象本身。內置轉換包括"asn"、"atanh"、"boxcox"、"date"、"exp"、"hms"、"identity"、"log"、"log10"、"log1p","log2","logit"、"modulus"、"probability"、"probit"、"pseudo_log"、"reciprocal"、"reverse"、"sqrt" 和 "time"。
變換對象將變換、其逆變換以及用於生成中斷和標簽的方法捆綁在一起。轉換對象在 scales 包中定義,稱為
<name>_trans(例如scales::boxcox_trans())。您可以使用scales::trans_new()創建自己的轉換。 expand-
對於位置刻度,範圍擴展常量的向量,用於在數據周圍添加一些填充,以確保它們放置在距軸一定距離的位置。使用便捷函數
expansion()生成expand參數的值。默認情況下,對於連續變量,每側擴展 5%,對於離散變量,每側擴展 0.6 個單位。 position-
對於位置刻度,軸的位置。
left或right表示 y 軸,top或bottom表示 x 軸。 super-
用於構造比例的超類
- low, high
-
漸變低端和高端的顏色。
- space
-
用於計算漸變的顏色空間。必須是 "Lab" - 其他值已棄用。
- na.value
-
用於缺失值的顏色
- guide
-
圖例類型。使用
"colourbar"表示連續顏色條,或使用"legend"表示離散顏色圖例。 - aesthetics
-
字符串或字符串向量,列出了該比例所使用的美學名稱。例如,這可以用於通過
aesthetics = c("colour", "fill")同時將顏色設置應用於colour和fill美學。 - mid
-
中點顏色
- midpoint
-
發散尺度的中點(數據值)。默認為 0。
- colours, colors
-
用於 n-colour 漸變的顏色向量。
- values
-
如果顏色不應該沿著漸變均勻定位,則該向量給出
colours向量中每種顏色的位置(0 到 1 之間)。有關將任意範圍映射到 0 到 1 之間的便捷函數,請參閱rescale()。
細節
默認顏色是用生成的孟塞爾和mnsl(c("2.5PB 2/4", "2.5PB 7/10"))。通常,對於連續色標,您希望保持色調恒定,但改變色度和亮度。這孟塞爾使用孟塞爾顏色係統包可以輕鬆實現這一點。
也可以看看
scales::seq_gradient_pal() 了解底層調色板的詳細信息,scale_colour_steps() 了解這些比例的分級變體。
其他色標:scale_alpha()、scale_colour_brewer()、scale_colour_continuous()、scale_colour_grey()、scale_colour_hue()、scale_colour_steps()、scale_colour_viridis_d()
例子
set.seed(1)
df <- data.frame(
x = runif(100),
y = runif(100),
z1 = rnorm(100),
z2 = abs(rnorm(100))
)
df_na <- data.frame(
value = seq(1, 20),
x = runif(20),
y = runif(20),
z1 = c(rep(NA, 10), rnorm(10))
)
# Default colour scale colours from light blue to dark blue
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z2))
# For diverging colour scales use gradient2
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z1)) +
scale_colour_gradient2()
# Use your own colour scale with gradientn
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z1)) +
scale_colour_gradientn(colours = terrain.colors(10))
# Equivalent fill scales do the same job for the fill aesthetic
ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill = density)) +
scale_fill_gradientn(colours = terrain.colors(10))
# Adjust colour choices with low and high
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z2)) +
scale_colour_gradient(low = "white", high = "black")
# Avoid red-green colour contrasts because ~10% of men have difficulty
# seeing them
# Use `na.value = NA` to hide missing values but keep the original axis range
ggplot(df_na, aes(x = value, y)) +
geom_bar(aes(fill = z1), stat = "identity") +
scale_fill_gradient(low = "yellow", high = "red", na.value = NA)
ggplot(df_na, aes(x, y)) +
geom_point(aes(colour = z1)) +
scale_colour_gradient(low = "yellow", high = "red", na.value = NA)
#> Warning: Removed 10 rows containing missing values (`geom_point()`).
相關用法
- R ggplot2 scale_grey 連續灰度色階
- R ggplot2 scale_shape 形狀比例,又稱字形
- R ggplot2 scale_viridis 來自 viridisLite 的 Viridis 色標
- R ggplot2 scale_linetype 線條圖案的比例
- R ggplot2 scale_discrete 離散數據的位置尺度
- R ggplot2 scale_manual 創建您自己的離散尺度
- R ggplot2 scale_colour_discrete 離散色階
- R ggplot2 scale_steps 分級漸變色標
- R ggplot2 scale_size 麵積或半徑比例
- R ggplot2 scale_date 日期/時間數據的位置刻度
- R ggplot2 scale_continuous 連續數據的位置比例(x 和 y)
- R ggplot2 scale_binned 用於對連續數據進行裝箱的位置比例(x 和 y)
- R ggplot2 scale_alpha Alpha 透明度比例
- R ggplot2 scale_colour_continuous 連續色標和分級色標
- R ggplot2 scale_identity 使用不縮放的值
- R ggplot2 scale_linewidth 線寬比例
- R ggplot2 scale_hue 離散數據的均勻間隔顏色
- R ggplot2 scale_brewer ColorBrewer 的連續、發散和定性色標
- R ggplot2 stat_ellipse 計算法行數據橢圓
- R ggplot2 stat_identity 保留數據原樣
- R ggplot2 stat_summary_2d 以二維形式進行分類和匯總(矩形和六邊形)
- R ggplot2 should_stop 在示例中用於說明何時應該發生錯誤。
- R ggplot2 stat_summary 總結唯一/分箱 x 處的 y 值
- R ggplot2 stat_sf_coordinates 從“sf”對象中提取坐標
- R ggplot2 stat_unique 刪除重複項
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Gradient colour scales。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
