scale_x_continuous()
和 scale_y_continuous()
是連續 x 和 y 美學的默認比例。可以通過三種變體為常用轉換設置 trans
參數: scale_*_log10()
、 scale_*_sqrt()
和 scale_*_reverse()
。
用法
scale_x_continuous(
name = waiver(),
breaks = waiver(),
minor_breaks = waiver(),
n.breaks = NULL,
labels = waiver(),
limits = NULL,
expand = waiver(),
oob = censor,
na.value = NA_real_,
trans = "identity",
guide = waiver(),
position = "bottom",
sec.axis = waiver()
)
scale_y_continuous(
name = waiver(),
breaks = waiver(),
minor_breaks = waiver(),
n.breaks = NULL,
labels = waiver(),
limits = NULL,
expand = waiver(),
oob = censor,
na.value = NA_real_,
trans = "identity",
guide = waiver(),
position = "left",
sec.axis = waiver()
)
scale_x_log10(...)
scale_y_log10(...)
scale_x_reverse(...)
scale_y_reverse(...)
scale_x_sqrt(...)
scale_y_sqrt(...)
參數
- 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()
)。
-
- expand
-
對於位置刻度,範圍擴展常量的向量,用於在數據周圍添加一些填充,以確保它們放置在距軸一定距離的位置。使用便捷函數
expansion()
生成expand
參數的值。默認情況下,對於連續變量,每側擴展 5%,對於離散變量,每側擴展 0.6 個單位。 - oob
-
之一:
-
處理超出範圍限製(越界)的函數。還接受 rlang lambda 函數表示法。
-
默認值 (
scales::censor()
) 將超出範圍的值替換為NA
。 -
scales::squish()
用於將超出範圍的值壓縮到範圍內。 -
scales::squish_infinite()
用於將無限值壓縮到範圍內。
-
- na.value
-
缺失值將替換為該值。
- 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()
創建自己的轉換。 - guide
-
用於創建指南或其名稱的函數。有關詳細信息,請參閱
guides()
。 - position
-
對於位置刻度,軸的位置。
left
或right
表示 y 軸,top
或bottom
表示 x 軸。 - sec.axis
-
sec_axis()
用於指定輔助軸。 - ...
-
其他參數傳遞給
scale_(x|y)_continuous()
也可以看看
其他位置刻度:scale_x_binned()
、scale_x_date()
、scale_x_discrete()
例子
p1 <- ggplot(mpg, aes(displ, hwy)) +
geom_point()
p1
# Manipulating the default position scales lets you:
# * change the axis labels
p1 +
scale_x_continuous("Engine displacement (L)") +
scale_y_continuous("Highway MPG")
# You can also use the short-cut labs().
# Use NULL to suppress axis labels
p1 + labs(x = NULL, y = NULL)
# * modify the axis limits
p1 + scale_x_continuous(limits = c(2, 6))
#> Warning: Removed 27 rows containing missing values (`geom_point()`).
p1 + scale_x_continuous(limits = c(0, 10))
# you can also use the short hand functions `xlim()` and `ylim()`
p1 + xlim(2, 6)
#> Warning: Removed 27 rows containing missing values (`geom_point()`).
# * choose where the ticks appear
p1 + scale_x_continuous(breaks = c(2, 4, 6))
# * choose your own labels
p1 + scale_x_continuous(
breaks = c(2, 4, 6),
label = c("two", "four", "six")
)
# Typically you'll pass a function to the `labels` argument.
# Some common formats are built into the scales package:
set.seed(1)
df <- data.frame(
x = rnorm(10) * 100000,
y = seq(0, 1, length.out = 10)
)
p2 <- ggplot(df, aes(x, y)) + geom_point()
p2 + scale_y_continuous(labels = scales::percent)
p2 + scale_y_continuous(labels = scales::dollar)
p2 + scale_x_continuous(labels = scales::comma)
# You can also override the default linear mapping by using a
# transformation. There are three shortcuts:
p1 + scale_y_log10()
p1 + scale_y_sqrt()
p1 + scale_y_reverse()
# Or you can supply a transformation in the `trans` argument:
p1 + scale_y_continuous(trans = scales::reciprocal_trans())
# You can also create your own. See ?scales::trans_new
相關用法
- R ggplot2 scale_colour_discrete 離散色階
- R ggplot2 scale_colour_continuous 連續色標和分級色標
- R ggplot2 scale_gradient 漸變色階
- R ggplot2 scale_shape 形狀比例,又稱字形
- R ggplot2 scale_viridis 來自 viridisLite 的 Viridis 色標
- R ggplot2 scale_grey 連續灰度色階
- R ggplot2 scale_linetype 線條圖案的比例
- R ggplot2 scale_discrete 離散數據的位置尺度
- R ggplot2 scale_manual 創建您自己的離散尺度
- R ggplot2 scale_steps 分級漸變色標
- R ggplot2 scale_size 麵積或半徑比例
- R ggplot2 scale_date 日期/時間數據的位置刻度
- R ggplot2 scale_binned 用於對連續數據進行裝箱的位置比例(x 和 y)
- R ggplot2 scale_alpha Alpha 透明度比例
- 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等大神的英文原創作品 Position scales for continuous data (x & y)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。