![](/img/trans.png)
[英]Difficulty plotting data with ggplot2 geom_smooth method=loess?
[英]geom_smooth function error with loess method in ggplot2
我正在使用 ggplot2 進行繪圖,但是當我使用方法 = loess 添加函數 geom_smooth 時,我的圖表不起作用。 實際上,它會創建與數據不匹配的曲線。 當我在腳本中更改這一行時,通過刪除它或使用另一種方法,圖表可以正常工作。
我已經檢查過我的數據是數字的,並且由於缺少小數而沒有極值,但事實並非如此。
我該如何糾正它以使我的 geom_smooth 與 loess 方法一起使用?
您的問題是loess
的默認參數不適用於您的數據集。 您只有少量離散的x
值,因此它不知道如何最好地擬合它。 例如,如果您查看base::loess()
中的span
的默認值(在ggplot2::geom_smooth(method = "loess")
),您會發現默認值為span = 0.75
。 如果你只是增加到span = 0.8
,你會得到我認為更接近你想要的東西。 有關span
參數的更多信息,您可以查看此答案。
library(tidyverse)
d %>%
ggplot(aes(x = quantity, y = fecundity, col = color)) +
geom_jitter(size = 3) +
geom_smooth(method = "loess", span = 0.8, alpha = 0.2) +
scale_x_continuous(breaks=c(0.1,0.3,0.6,0.9,1.5), limits=c(0.1,1.5))+
scale_colour_manual(values=c("20S" = "aquamarine1","25S" = "aquamarine3","28S" =
"aquamarine4","20Y" = "darkgoldenrod1","25Y" = "darkgoldenrod3", "28Y" = "darkgoldenrod4"))+
ggtitle("Fécondité en fonction du traitement de nourriture et de la température")+
xlab("Quantité nutritionnelle") + ylab("Fécondité (nb d'oeufs/femelle)")+
theme_grey(base_size = 22)
由reprex 包於 2022-07-05 創建 (v2.0.1)
您需要引用方法類型,例如使用geom_smooth(method="loess")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.