簡體   English   中英

使用ggplot和stat_summary自動進行n繪圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM