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


R ggplot2 scale_size 麵積或半徑比例


scale_size() 縮放區域,scale_radius() 縮放半徑。尺寸美學最常用於點和文本,人類感知點的麵積(而不是它們的半徑),因此這提供了最佳感知。 scale_size_area() 確保值 0 映射到大小 0。scale_size_binned()scale_size() 的分箱版本,按區域縮放(但不確保 0 等於零區域)。對於 scale_size_area() 的分級等效項,請使用 scale_size_binned_area()

用法

scale_size(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  trans = "identity",
  guide = "legend"
)

scale_radius(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  trans = "identity",
  guide = "legend"
)

scale_size_binned(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  n.breaks = NULL,
  nice.breaks = TRUE,
  trans = "identity",
  guide = "bins"
)

scale_size_area(..., max_size = 6)

scale_size_binned_area(..., max_size = 6)

參數

name

秤的名稱。用作軸或圖例標題。如果 waiver() (默認值),則比例名稱取自用於該美學的第一個映射。如果是 NULL ,則圖例標題將被省略。

breaks

之一:

labels

之一:

  • NULL 無標簽

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

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

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

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

limits

之一:

  • NULL 使用默認比例範圍

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

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

range

長度為 2 的數值向量,指定變換後繪圖符號的最小和最大尺寸。

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()

n.breaks

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

nice.breaks

邏輯性強。應該嘗試將中斷設置為合適的值,而不是在限製之間完全均勻地間隔。如果TRUE(默認),比例將要求轉換對象創建中斷,這可能會導致中斷數量與請求的數量不同。如果明確給出中斷,則忽略。

...

參數傳遞給continuous_scale

minor_breaks

之一:

  • NULL 沒有小中斷

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

  • 位置的數值向量

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

oob

之一:

na.value

缺失值將替換為該值。

expand

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

position

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

super

用於構造比例的超類

max_size

最大點的大小。

注意

從曆史上看,尺寸美學用於兩種不同的用途:縮放對象的尺寸(如點和字形)和縮放線條的寬度。從 ggplot2 3.4.0 開始,後者已移至其自己的線寬美學。為了向後兼容,仍然可以使用尺寸,但強烈建議在這些情況下切換到新的線寬美觀。

也可以看看

scale_size_area() 如果您希望將 0 個值映射到大小為 0 的點。 scale_linewidth() 如果您想縮放線的寬度。

例子

p <- ggplot(mpg, aes(displ, hwy, size = hwy)) +
   geom_point()
p

p + scale_size("Highway mpg")

p + scale_size(range = c(0, 10))


# If you want zero value to have zero size, use scale_size_area:
p + scale_size_area()


# Binning can sometimes make it easier to match the scaled data to the legend
p + scale_size_binned()


# This is most useful when size is a count
ggplot(mpg, aes(class, cyl)) +
  geom_count() +
  scale_size_area()


# If you want to map size to radius (usually bad idea), use scale_radius
p + scale_radius()

源代碼:R/scale-size.R

相關用法


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