ggplot绘图遇警告:忽略fun.y参数、默认用mean_se(),求解决方案
解决ggplot2绘图警告的方案
问题原因
你的警告来自两个新版ggplot2的语法变化:
fun.y参数在ggplot2 3.0版本后被废弃,不再被stat="summary"识别,所以出现"Ignoring unknown parameters:fun.y"警告。- 当你用
geom_point(stat="summary")却没正确指定汇总函数时,ggplot会默认使用mean_se(),这就导致了第二个警告。
修正后的代码
把依赖旧参数的部分替换成新版语法,直接用stat_summary来绘制均值点,代码如下:
plot <- ggplot(data, aes(x=Site, y=ratio, colour = Site)) + # 用stat_summary直接指定绘制均值点,替代旧的geom_point(stat="summary") stat_summary(geom="point", fun=mean, size=4) + geom_point(size=1, alpha=.3) + stat_summary(fun.data=mean_se, geom="errorbar", width=.2, linewidth=0.3) + theme(legend.position="none")
额外说明
stat_summary是ggplot2中处理数据汇总绘图的标准方式,比geom_point(stat="summary")更清晰,也更易维护。fun=mean直接指定要计算的均值函数,符合新版ggplot2的参数规范,不会再触发警告。- 你之前尝试把
mean_se改成mean_se()是没必要的,因为fun.data需要传入的是函数对象,而不是函数调用的结果。
内容的提问来源于stack exchange,提问作者mels
相关产品推荐
相关产品推荐

