geom_smooth将阴影区域与线条颜色匹配

时间:2016-04-14 05:21:53

标签: r ggplot2

这是我的数据:

    data <- read.table(text = "
      Abundance Time Water_mass
305         323  434        SAW
                   954         416  476        SAW
                   1545        519  154        SAW
                   2049        693  188        SAW
                   2459       9360  353        SAW
                   2988        345  434        SAW
                   3472        524  154        SAW
                   3958        486  188        SAW
                   4484       8739  353        SAW
                   5051        581  476        SAW
                   5539        505  188        SAW
                   6025       6090  353        SAW
                   6596        343  434        SAW
                   7125        533  476        SAW
                   7611        655  154        SAW
                   8099        569  188        SAW
                   8586       7373  353        SAW
                   9236        194  434        SAW
                   9680        979  476        SAW
                   10046       794  154        SAW
                   10654       418  188      FRONT
                   11261      3588  353        SAW
                   11547       309  434        SAW
                   12034       693  154        SAW
                   12603       591  188      FRONT
                   13169       370  434        SAW
                   13697       534  476      FRONT
                   14427       659  154        SAW
                   14944       733  188      FRONT
                   15467      1373  353      FRONT
                   15987       373  434        SAW
                   16377       495  154        SAW
                   17012      1331  353      FRONT
                   17392       585  434      FRONT
                   17837      1188  476        STW
                   18444       519  154        SAW
                   18932       808  188      FRONT
                   19418      5073  353      FRONT
                   20026       402  434      FRONT
                   20392      1021  476        STW
                   21121       753  154        SAW
                   21573       378  188      FRONT
                   21977      6270  353      FRONT
                   22343       769  434        STW
                   23072      1311  476        STW
                   23559       570  154        STW
                   24207       587  188        STW
                   24694       370  434        STW
                   25253       625  188        STW
                   25767     44258  353        STW
                   26116      1655  434         NW
                   26604      1792  476        STW
                   27089       448  154        STW
                   27697      1874  188        STW
                   28292     28669  353        STW
                   28670       960  434         NW
                   29389       485  154        STW
                   29877       476  476      FRONT
                   30415     28771  353        STW
                   30959      1538  476        STW
                   31454      1884  434         NW
                   31906      2158  476         NW
                   32487      1417  154         NW
                   32971      2560  188         NW
                   33418     38646  353         NW
                   34028      2887  434         NW
                   34513      1509  476         NW
                   35039      1441  154         NW
                   35241      2553  188         NW
                   36091       692  353         NW
", header = TRUE)

我已制作此图表,但想要将信封着色以匹配线条的颜色:

Abundance vs Time for each Water mass

我尝试的代码是:

data$Water_mass <- factor(data$Water_mass, levels = c("NW", "STW", "FRONT", "SAW"))
ggplot(data,aes(x=Time,y=Abundance,col=Water_mass)) + geom_point(size=3) + geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95, fill = data$Water_mass)

但是,我收到了这个错误:

Error: Aesthetics must be either length 1 or the same as the data (320): fill

我试图按照Changing standard error color for geom_smooth中的说明操作,但这不起作用。我试图用来为信封着色的数据与我之前使用的数据相同,所以我不明白它为什么说它是一个不同的长度(或320来自哪里)。

1 个答案:

答案 0 :(得分:0)

我意识到颜色只需要在aes中!

ggplot(data,aes(x=Time,y=Abundance,col=Water_mass)) + geom_point(size=3) + geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95, aes(fill = Water_mass))