美学必须是长度一个或相同的长度

时间:2015-01-09 13:47:11

标签: r ggplot2

我正在尝试绘制值和错误栏,这看似简单的任务。由于脚本相当长,我试图限制代码在这里给予必要的数量。

我可以绘制没有误差条的图形。但是,在尝试添加错误栏时,我会收到消息

Error: Aesthetics must either be length one, or the same length as the dataProblems:Tempdata

这是我正在使用的代码。 Tempdata数据框中的所有向量长度为​​390.

Tempdata <- data.frame (TempDiff, Measurement.points, Room.ext.resc, MelatoninData, Proximal.vs.Distal.SD.ext, ymax, ymin)
p <- ggplot(data=Tempdata, 
        aes(x = Measurement.points, 
            y = Tempdata, colour = "Temperature Differences")) 
p + geom_line(aes(x=Measurement.points, y = Tempdata$TempDiff, colour = "Gradient Proximal vs. Distal"))+
geom_errorbar(aes(ymax=Tempdata$ymax, ymin=Tempdata$ymin))

1 个答案:

答案 0 :(得分:1)

问题是你的引号之间有颜色变量。您应该将变量名称放在该位置。因此,将"Temperature Differences"替换为TempDiff,将"Gradient Proximal vs. Distal"替换为Proximal.vs.Distal.SD.ext可能会解决您的问题。

此外:您无法调用两个不同的colour - 变量。

改进的ggplot代码应该是这样的:

ggplot(data=Tempdata, aes(x=Measurement.points, y=TempDiff, colour=Proximal.vs.Distal.SD.ext)) + 
  geom_line() +
  geom_errorbar(aes(ymax=ymax, ymin=ymin))

我还修复了原始代码的一些问题:

  • Roland报道的$问题
  • aes
  • 中的来电冲突
  • 您在第一个aes
  • 内调用数据框的事实