貼標機函數負責格式化小麵網格和包的條帶標簽。它們中的大多數接受 multi_line
參數來控製多個因子(在公式中定義,例如 ~first + second
)是否應顯示在以逗號分隔的單行上,或者每個因子都顯示在自己的行上。
用法
label_value(labels, multi_line = TRUE)
label_both(labels, multi_line = TRUE, sep = ": ")
label_context(labels, multi_line = TRUE, sep = ": ")
label_parsed(labels, multi_line = TRUE)
label_wrap_gen(width = 25, multi_line = TRUE)
參數
- labels
-
標簽的 DataFrame 。通常隻包含一個元素,但多個因子的分麵需要多個標簽變量。
- multi_line
-
是否在單獨的行上顯示多個因子的標簽。
- sep
-
分隔變量和值的字符串。
- width
-
包條帶之前的最大字符數。
細節
label_value()
僅顯示因子的值,而label_both()
同時顯示變量名稱和因子值。 label_context()
是 context-dependent,對於單因子分麵使用 label_value()
,當涉及多個因子時使用 label_both()
。 label_wrap_gen()
使用base::strwrap()
進行換行。
label_parsed()
將標簽解釋為繪圖數學表達式。 label_bquote()
提供了一種更靈活的構建繪圖數學表達式的方法。有關參數語法的詳細信息,請參閱示例和bquote()
。
編寫新的標簽函數
請注意,編寫貼標器函數的一種簡單方法是使用 as_labeller()
轉換對字符向量進行操作的函數。
貼標器函數接受標簽 DataFrame (字符向量),其中每個因子包含一列。 ~first + second
類型的公式會出現多個因子。
返回值必須是一個矩形列表,其中每個 'row' 代表一個麵。列表元素可以是字符向量或繪圖表達式列表。當返回多個元素時,它們會顯示在自己的新行上(即每個方麵都有一個多行標簽條)。
為了說明這一點,假設您的貼標器返回一個由兩個長度為 3 的字符向量組成的列表。這是一個矩形列表,因為所有元素都具有相同的長度。第一個方麵將獲取每個向量的第一個元素並將它們每個顯示在自己的行上。然後第二個方麵獲取每個向量的第二個元素,依此類推。
如果它對您的貼標機有用,您可以檢索傳入標簽數據幀的 type
屬性。該屬性的值反映貼標機正在處理的條帶類型:"cols"
表示列,"rows"
表示行。請注意,facet_wrap()
默認情況下具有列,當使用 switch
選項切換條帶時具有行。 facet
屬性還提供標簽上的元數據。它采用值 "grid"
或 "wrap"
。
為了與 labeller()
兼容,每個貼標器函數必須具有 labeller
S3 類。
例子
mtcars$cyl2 <- factor(mtcars$cyl, labels = c("alpha", "beta", "gamma"))
p <- ggplot(mtcars, aes(wt, mpg)) + geom_point()
# The default is label_value
p + facet_grid(. ~ cyl, labeller = label_value)
# \donttest{
# Displaying both the values and the variables
p + facet_grid(. ~ cyl, labeller = label_both)
# Displaying only the values or both the values and variables
# depending on whether multiple factors are facetted over
p + facet_grid(am ~ vs+cyl, labeller = label_context)
# Interpreting the labels as plotmath expressions
p + facet_grid(. ~ cyl2)
p + facet_grid(. ~ cyl2, labeller = label_parsed)
# }
相關用法
- R ggplot2 labeller 構建標簽規範
- R ggplot2 label_bquote 帶有數學表達式的標簽
- R ggplot2 labs 修改軸、圖例和繪圖標簽
- R ggplot2 layer 創建一個新層
- R ggplot2 lims 設置規模限製
- R ggplot2 annotation_logticks 注釋:記錄刻度線
- R ggplot2 vars 引用分麵變量
- R ggplot2 position_stack 將重疊的對象堆疊在一起
- R ggplot2 geom_qq 分位數-分位數圖
- R ggplot2 geom_spoke 由位置、方向和距離參數化的線段
- R ggplot2 geom_quantile 分位數回歸
- R ggplot2 geom_text 文本
- R ggplot2 get_alt_text 從繪圖中提取替代文本
- R ggplot2 annotation_custom 注釋:自定義grob
- R ggplot2 geom_ribbon 函數區和麵積圖
- R ggplot2 stat_ellipse 計算法行數據橢圓
- R ggplot2 resolution 計算數值向量的“分辨率”
- R ggplot2 geom_boxplot 盒須圖(Tukey 風格)
- R ggplot2 geom_hex 二維箱計數的六邊形熱圖
- R ggplot2 scale_gradient 漸變色階
- R ggplot2 scale_shape 形狀比例,又稱字形
- R ggplot2 geom_bar 條形圖
- R ggplot2 draw_key 圖例的關鍵字形
- R ggplot2 annotate 創建注釋層
- R ggplot2 annotation_map 注釋:Map
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Useful labeller functions。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。