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


R ggplot2 scale_continuous 連續數據的位置比例(x 和 y)


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

之一:

minor_breaks

之一:

  • NULL 沒有小中斷

  • waiver() 用於默認中斷(每個主要中斷之間有一個次要中斷)

  • 位置的數值向量

  • 給定限製的函數返回一個由次要中斷組成的向量。還接受 rlang lambda 函數表示法。

n.breaks

指導主要中斷次數的整數。該算法可能會選擇稍微不同的數字以確保良好的中斷標簽。僅在 breaks = waiver() 時有效。使用 NULL 使用轉換給出的默認中斷數。

labels

之一:

  • NULL 無標簽

  • waiver() 用於由轉換對象計算的默認標簽

  • 給出標簽的字符向量(必須與 breaks 長度相同)

  • 表達向量(必須與中斷長度相同)。有關詳細信息,請參閱?plotmath。

  • 將中斷作為輸入並返回標簽作為輸出的函數。還接受 rlang lambda 函數表示法。

limits

之一:

  • NULL 使用默認比例範圍

  • 長度為 2 的數值向量,提供尺度限製。使用NA來引用現有的最小值或最大值

  • 接受現有(自動)限製並返回新限製的函數。還接受 rlang lambda 函數表示法。請注意,對位置比例設置限製將刪除限製之外的數據。如果目的是縮放,請使用坐標係中的 limit 參數(請參閱 coord_cartesian() )。

expand

對於位置刻度,範圍擴展常量的向量,用於在數據周圍添加一些填充,以確保它們放置在距軸一定距離的位置。使用便捷函數expansion() 生成expand 參數的值。默認情況下,對於連續變量,每側擴展 5%,對於離散變量,每側擴展 0.6 個單位。

oob

之一:

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

對於位置刻度,軸的位置。 leftright 表示 y 軸,topbottom 表示 x 軸。

sec.axis

sec_axis() 用於指定輔助軸。

...

其他參數傳遞給scale_(x|y)_continuous()

細節

對於標簽和限製的簡單操作,您可能希望使用labs()lims() 代替。

也可以看看

其他位置刻度: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

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Position scales for continuous data (x & y)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。