[英]Automatic n plotting with ggplot and stat_summary
這是與此有關的一個問題。 我正在處理兩組的箱線圖,並使用該問題中提出的函數n_fun進行了少量修改(我使用y = 10來定位“ n =”,因為我發現它干擾了中位數)。
功能如下:
n_fun <- function(x){
return(data.frame(y = 10, label = paste0("n = ",length(x))))
}
ggplot(mtcars, aes(x=factor(cyl), mpg, fill=factor(am))) +
geom_boxplot() + stat_summary(fun.data = n_fun, geom = "text")
問題是該函數識別出有兩個不同的“ n =”要繪制,但它們被一起繪制在單個'y'
。 我試圖在n_fun
的y位置上輸入一個向量,並且該向量被接受。 但是,我得到了兩個過度繪制的“ n =”。 我正在尋找stat_summary
類的“ position = dodge”之類的stat_summary
或者是另一種告訴ggplot
方式,即它必須以與繪制躲避的ggplot
圖相同的方式來繪制這些文本。
好吧,正如幫助?position_dodge
指出的那樣:避開具有不同寬度的東西可能很棘手。 您可能需要顯式指定躲避的寬度。 在您的情況下:
ggplot(mtcars, aes(x=factor(cyl), mpg, fill=factor(am))) +
stat_summary(fun.data = n_fun, geom = "text",
position = position_dodge(.9))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.