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


R ggplot2 scale_steps 分級漸變色標


scale_*_steps 創建兩個顏色分級漸變 (low-high),scale_*_steps2 創建發散分級顏色漸變 (low-mid-high),scale_*_stepsn 創建 n-colour 分級漸變。這些比例是 gradient scale 係列的分級變體,並且工作方式相同。

用法

scale_colour_steps(
  ...,
  low = "#132B43",
  high = "#56B1F7",
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour"
)

scale_colour_steps2(
  ...,
  low = muted("red"),
  mid = "white",
  high = muted("blue"),
  midpoint = 0,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour"
)

scale_colour_stepsn(
  ...,
  colours,
  values = NULL,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour",
  colors
)

scale_fill_steps(
  ...,
  low = "#132B43",
  high = "#56B1F7",
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill"
)

scale_fill_steps2(
  ...,
  low = muted("red"),
  mid = "white",
  high = muted("blue"),
  midpoint = 0,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill"
)

scale_fill_stepsn(
  ...,
  colours,
  values = NULL,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill",
  colors
)

參數

...

參數傳遞給binned_scale

n.breaks

如果未直接給出中斷,則要創建的斷點數量。

nice.breaks

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

right

間隔應該在右側閉合(TRUE,默認)還是間隔應該在左側閉合(FALSE)? “在右側閉合”意味著中斷位置處的值是下部箱的一部分(在左側打開),而當間隔在左側閉合(在右側打開)時,它們是上部箱的一部分。

show.limits

刻度的界限是否應顯示為刻度

name

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

breaks

之一:

labels

之一:

  • NULL 無標簽

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

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

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

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

limits

之一:

  • NULL 使用默認比例範圍

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

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

oob

之一:

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

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

super

用於構造比例的超類

low, high

漸變低端和高端的顏色。

space

用於計算漸變的顏色空間。必須是 "Lab" - 其他值已棄用。

na.value

用於缺失值的顏色

guide

圖例類型。使用 "colourbar" 表示連續顏色條,或使用 "legend" 表示離散顏色圖例。

aesthetics

字符串或字符串向量,列出了該比例所使用的美學名稱。例如,這可以用於通過 aesthetics = c("colour", "fill") 同時將顏色設置應用於 colourfill 美學。

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_gradient() 用於無分箱的連續比例。

其他色標:scale_alpha()scale_colour_brewer()scale_colour_continuous()scale_colour_gradient()scale_colour_grey()scale_colour_hue()scale_colour_viridis_d()

例子

set.seed(1)
df <- data.frame(
  x = runif(100),
  y = runif(100),
  z1 = rnorm(100)
)

# Use scale_colour_steps for a standard binned gradient
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_steps()


# Get a divergent binned scale with the *2 variant
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_steps2()


# Define your own colour ramp to extract binned colours from
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_stepsn(colours = terrain.colors(10))

源代碼:R/scale-steps.RR/zxx.R

相關用法


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