我正在嘗試在 ggplot2 條形圖中添加標簽。
ggplot(bank_train, aes(previous_outcome)) geom_bar(aes(fill = response))
scale_fill_manual(values = c("orange", "lightblue"))

其中 bank_train 是變數名為 previous_outcome 的資料集的名稱。并且,回應(是或否)。
上面的代碼作業正常,但我試圖在條形圖中添加數字,但它給了我一個不正確的圖表。
這是我的嘗試:
ggplot(bank_train, aes(previous_outcome)) geom_bar(aes(fill = response),stat = "identity")
geom_text(aes(label = count),position = position_stack(vjust= 0.5),
colour = "white", size = 5) scale_fill_manual(values = c("orange", "lightblue"))
我的問題是理解 geom_text。
非常感謝您的幫助
uj5u.com熱心網友回復:
用于after_stat獲取geom_text標簽的計數。
set.seed(2022)
n <- 100L
outcomes <- c("failure", "success", "nonexistent")
previous_outcome <- factor(sample(outcomes, n, TRUE), levels = outcomes)
response <- sample(c("yes", "no"))
bank_train <- data.frame(previous_outcome, response)
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.2.2
ggplot(bank_train, aes(previous_outcome, fill = response))
geom_bar()
geom_text(aes(label = after_stat(count)),
stat ='count', colour = "white", size = 5,
position = position_stack(vjust = 0.5))
scale_fill_manual(values = c("orange", "lightblue"))
labs(x = 'Previous Outcome', y = 'Count')
theme_bw()

使用reprex v2.0.2創建于 2022-11-12
編輯
如果條被躲避,請嘗試position_dodge2,就像評論中所說的那樣,并將一半分配給after_stat(count)美學y。
ggplot(bank_train, aes(previous_outcome, fill = response))
geom_bar(position = "dodge2")
geom_text(aes(label = after_stat(count), y = after_stat(count)/2L),
stat ='count', colour = "white", size = 5,
position = position_dodge2(width = 0.9))
scale_fill_manual(values = c("orange", "lightblue"))
labs(x = 'Previous Outcome', y = 'Count')
theme_bw()

使用reprex v2.0.2創建于 2022-11-12
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/533300.html
標籤:rggplot2条形图
