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_scale
scale_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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。