当前位置:  开发笔记 > 编程语言 > 正文

geom_errorbar - "没有名为StatHline的统计信息"

如何解决《geom_errorbar-"没有名为StatHline的统计信息"》经验,为你挑选了1个好方法。

我似乎无法重新生成ggplot2我之前使用下面的代码生成的图(使用).我现在收到错误消息"No stat called StatHline".有替代品吗?

data <- data.frame(
  CorrectedIntensity=c(0, -0.66, -0.37, 0, -1.04, -0.38, 0, -1.89, -1.50),
  Day=c("Day 1", "Day 9", "Day 5", "Day 1", "Day 9", "Day 5", "Day 1", "Day 9", "Day 5"))

library(ggplot2)
plot_data <- ggplot() + 
  ylim(-2.5, 0.5) + 
  geom_point(data=data, aes(x=Day, y=CorrectedIntensity), size=7, 
             colour="royalblue3", alpha=0.30) + 
  geom_errorbar(data=data, aes(x=Day, y=CorrectedIntensity, ymax=..y.., ymin=..y..), 
                stat = "hline", yintercept = "mean", royalblue3", 
                size=1.25) + 
  stat_summary(data=data, aes(x=Day, y=CorrectedIntensity), 
               fun.ymax=function(i) mean(i) + sd(i),
               fun.ymin=function(i) mean(i) - sd(i), 
               geom="errorbar", royalblue3")

这就是我希望情节看起来像:

在此输入图像描述



1> jbaums..:

我认为这归结为主要变化ggplot2.

这里有几个选项.第一个使用带有shape='-'水平条的点.第二种用途geom_errorbar就像你以前用过的那样,但通过stat_summary.

ggplot(data, aes(x=Day, y=CorrectedIntensity)) + 
  ylim(-2.5, 0.5) + 
  # data points
  geom_point(size=7, colour="royalblue3", alpha=0.30) + 
  # +/- standard deviation
  stat_summary(fun.data=function(...) mean_sdl(..., mult=1), 
               geom='errorbar', royalblue3') +
  # points for mean, using hyphens for point shape
  stat_summary(fun.y=mean, colour='royalblue3', geom='point', shape='-', size=30) +
  # line connecting means
  stat_summary(fun.y=mean, colour='royalblue3', geom='line', aes(group=1), lty=2)

在此输入图像描述

ggplot(data, aes(x=Day, y=CorrectedIntensity)) + 
  ylim(-2.5, 0.5) + 
  # data points
  geom_point(size=7, colour="royalblue3", alpha=0.30) + 
  # +/- standard deviation      
  stat_summary(fun.data=function(...) mean_sdl(..., mult=1), 
               geom='errorbar', royalblue3') +
  # lines for means, using geom=errorbar
  stat_summary(fun.y=mean, aes(ymin=..y.., ymax=..y..), 
               geom='errorbar', royalblue3', size=1.25) +
  # line connecting means
  stat_summary(fun.y=mean, colour='royalblue3', geom='line', aes(group=1), lty=2)

在此输入图像描述


使用'mean_sdl` vs`mean`来获得没有胡须的水平线是否有优势?
推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有