繁体   English   中英

ggplot2中黄土方法的geom_smooth函数错误

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM