当使用第二个geom_errorbar函数时,美学必须是长度1或与数据相同:ymin,ymax,x,y,color

时间:2017-08-01 11:09:05

标签: r ggplot2

我试图将误差线添加到第二条曲线(使用数据集" pmfprofbs01"),但我遇到了问题,我无法解决这个问题。

这个错误有几个线程,但不幸的是,看起来每个其他答案都是特定于案例的,并且我无法在我的代码中克服此错误。我能够绘制第一条平滑曲线(stat_smooth)和重叠错误栏(使用geom_errobar)。当我尝试将第二条曲线添加到同一图表时,问题就出现了,以便进行比较。

使用以下代码,我收到以下错误:"错误:美学必须是长度1或与数据(35)相同:ymin,ymax,x,y,color"

我希望将其他错误栏添加到第二条平滑曲线(对应于数据集pmfprof01和pmfprofbs01)。

有人可以解释为什么我一直收到这个错误吗?代码一直有效,直到使用geom_errorbar()的第二次调用。

这些是我的4个数据集(全部用作数据框):

- pmfprof1 and pmfprof01 are the two datasets used for applying the smoothing method.

- pmfprofbs1 and pmfprofbs01 contain additional information based on an error analysis for plotting error bars.



> pmfprof1
            Z correctedpmfprof1
1  -1.1023900     -8.025386e-22
2  -1.0570000      6.257110e-02
3  -1.0116000      1.251420e-01
4  -0.9662020      2.143170e-01
5  -0.9208040      3.300960e-01
6  -0.8754060      4.658550e-01
7  -0.8300090      6.113410e-01
8  -0.7846110      4.902430e-01
9  -0.7392140      3.344200e-01
10 -0.6938160      4.002040e-01
11 -0.6484190      1.215460e-01
12 -0.6030210     -1.724360e-01
13 -0.5576240     -6.077170e-01
14 -0.5122260     -1.513420e+00
15 -0.4668290     -2.075330e+00
16 -0.4214310     -2.617160e+00
17 -0.3760340     -3.350500e+00
18 -0.3306360     -4.076220e+00
19 -0.2852380     -4.926540e+00
20 -0.2398410     -5.826390e+00
21 -0.1944430     -6.761300e+00
22 -0.1490460     -7.301530e+00
23 -0.1036480     -7.303880e+00
24 -0.0582507     -7.026800e+00
25 -0.0128532     -6.627960e+00
26  0.0325444     -6.651490e+00
27  0.0779419     -6.919830e+00
28  0.1233390     -6.686490e+00
29  0.1687370     -6.129060e+00
30  0.2141350     -6.120890e+00
31  0.2595320     -6.455160e+00
32  0.3049300     -6.554560e+00
33  0.3503270     -6.983390e+00
34  0.3957250     -7.413500e+00
35  0.4411220     -6.697370e+00
36  0.4865200     -5.477230e+00
37  0.5319170     -4.552890e+00
38  0.5773150     -3.393060e+00
39  0.6227120     -2.449930e+00
40  0.6681100     -2.183190e+00
41  0.7135080     -1.673980e+00
42  0.7589050     -8.003740e-01
43  0.8043030     -2.918780e-01
44  0.8497000     -1.159710e-01
45  0.8950980      9.123767e-22



> pmfprof01
             Z correctedpmfprof01
1  -1.25634000      -1.878749e-21
2  -1.20387000      -1.750190e-01
3  -1.15141000      -3.500380e-01
4  -1.09894000      -6.005650e-01
5  -1.04647000      -7.935110e-01
6  -0.99400600      -8.626150e-01
7  -0.94153900      -1.313880e+00
8  -0.88907200      -2.067770e+00
9  -0.83660500      -2.662440e+00
10 -0.78413800      -4.514190e+00
11 -0.73167100      -7.989510e+00
12 -0.67920400      -1.186870e+01
13 -0.62673800      -1.535970e+01
14 -0.57427100      -1.829150e+01
15 -0.52180400      -2.067170e+01
16 -0.46933700      -2.167890e+01
17 -0.41687000      -2.069820e+01
18 -0.36440300      -1.662640e+01
19 -0.31193600      -1.265950e+01
20 -0.25946900      -1.182580e+01
21 -0.20700200      -1.213370e+01
22 -0.15453500      -1.233680e+01
23 -0.10206800      -1.235160e+01
24 -0.04960160      -1.123630e+01
25  0.00286531      -9.086940e+00
26  0.05533220      -6.562710e+00
27  0.10779900      -4.185860e+00
28  0.16026600      -3.087430e+00
29  0.21273300      -2.005150e+00
30  0.26520000      -9.295540e-02
31  0.31766700       1.450360e+00
32  0.37013400       1.123910e+00
33  0.42260100       2.426750e-01
34  0.47506700       1.213370e-01
35  0.52753400       5.265226e-21



> pmfprofbs1
            Z correctedpmfprof01      bsmean      bssd       bsse      bsci
1  -1.1023900      -8.025386e-22  0.00000000 0.0000000 0.00000000 0.0000000
2  -1.0570000       6.257110e-02  1.46519200 0.6691245 0.09974719 0.2010273
3  -1.0116000       1.251420e-01  1.62453300 0.6368053 0.09492933 0.1913175
4  -0.9662020       2.143170e-01  1.62111600 0.7200497 0.10733867 0.2163269
5  -0.9208040       3.300960e-01  1.44754700 0.7236743 0.10787900 0.2174158
6  -0.8754060       4.658550e-01  1.67509800 0.7148755 0.10656735 0.2147724
7  -0.8300090       6.113410e-01  1.78144200 0.7374481 0.10993227 0.2215539
8  -0.7846110       4.902430e-01  1.73058700 0.7701354 0.11480501 0.2313743
9  -0.7392140       3.344200e-01  0.97430090 0.7809477 0.11641681 0.2346227
10 -0.6938160       4.002040e-01  1.26812000 0.8033838 0.11976139 0.2413632
11 -0.6484190       1.215460e-01  0.93601510 0.7927926 0.11818254 0.2381813
12 -0.6030210      -1.724360e-01  0.63201080 0.8210839 0.12239996 0.2466809
13 -0.5576240      -6.077170e-01  0.05952252 0.8653050 0.12899205 0.2599664
14 -0.5122260      -1.513420e+00  0.57893690 0.8858471 0.13205429 0.2661379
15 -0.4668290      -2.075330e+00 -0.08164613 0.8921298 0.13299086 0.2680255
16 -0.4214310      -2.617160e+00 -1.08074600 0.8906925 0.13277660 0.2675937
17 -0.3760340      -3.350500e+00 -1.67279700 0.9081813 0.13538367 0.2728479
18 -0.3306360      -4.076220e+00 -2.50074900 1.0641550 0.15863486 0.3197076
19 -0.2852380      -4.926540e+00 -3.12062200 1.0639080 0.15859804 0.3196333
20 -0.2398410      -5.826390e+00 -4.47060100 1.1320770 0.16876008 0.3401136
21 -0.1944430      -6.761300e+00 -5.40812700 1.1471780 0.17101120 0.3446504
22 -0.1490460      -7.301530e+00 -6.42419100 1.1685490 0.17419700 0.3510710
23 -0.1036480      -7.303880e+00 -5.79613500 1.1935850 0.17792915 0.3585926
24 -0.0582507      -7.026800e+00 -5.85496900 1.2117630 0.18063896 0.3640539
25 -0.0128532      -6.627960e+00 -6.70480400 1.1961400 0.17831002 0.3593602
26  0.0325444      -6.651490e+00 -8.27106200 1.3376870 0.19941060 0.4018857
27  0.0779419      -6.919830e+00 -8.79402900 1.3582760 0.20247983 0.4080713
28  0.1233390      -6.686490e+00 -8.35947700 1.3673080 0.20382624 0.4107848
29  0.1687370      -6.129060e+00 -8.04437600 1.3921620 0.20753126 0.4182518
30  0.2141350      -6.120890e+00 -8.18588300 1.5220550 0.22689456 0.4572759
31  0.2595320      -6.455160e+00 -8.37217600 1.5436800 0.23011823 0.4637728
32  0.3049300      -6.554560e+00 -8.59346400 1.6276880 0.24264140 0.4890116
33  0.3503270      -6.983390e+00 -8.88378700 1.6557140 0.24681927 0.4974316
34  0.3957250      -7.413500e+00 -9.72709800 1.6569390 0.24700188 0.4977996
35  0.4411220      -6.697370e+00 -9.46033400 1.6378470 0.24415582 0.4920637
36  0.4865200      -5.477230e+00 -8.37590600 1.6262700 0.24243002 0.4885856
37  0.5319170      -4.552890e+00 -7.52867000 1.6617010 0.24771176 0.4992302
38  0.5773150      -3.393060e+00 -6.89192300 1.6667330 0.24846189 0.5007420
39  0.6227120      -2.449930e+00 -6.25115300 1.6670390 0.24850750 0.5008340
40  0.6681100      -2.183190e+00 -6.05373800 1.6720180 0.24924973 0.5023298
41  0.7135080      -1.673980e+00 -5.10526700 1.6668400 0.24847784 0.5007742
42  0.7589050      -8.003740e-01 -4.42001600 1.6561830 0.24688918 0.4975725
43  0.8043030      -2.918780e-01 -4.26640200 1.6588970 0.24729376 0.4983878
44  0.8497000      -1.159710e-01 -4.46318500 1.6533830 0.24647179 0.4967312
45  0.8950980       9.123767e-22 -5.17173200 1.6557990 0.24683194 0.4974571



> pmfprofbs01
             Z correctedpmfprof01     bsmean      bssd       bsse      bsci
1  -1.25634000      -1.878749e-21   0.000000 0.0000000 0.00000000 0.0000000
2  -1.20387000      -1.750190e-01   2.316589 0.4646486 0.07853995 0.1596124
3  -1.15141000      -3.500380e-01   2.320647 0.4619668 0.07808664 0.1586911
4  -1.09894000      -6.005650e-01   2.635883 0.6519826 0.11020517 0.2239639
5  -1.04647000      -7.935110e-01   2.814679 0.6789875 0.11476983 0.2332404
6  -0.99400600      -8.626150e-01   2.588038 0.7324196 0.12380151 0.2515949
7  -0.94153900      -1.313880e+00   2.033736 0.7635401 0.12906183 0.2622852
8  -0.88907200      -2.067770e+00   2.394285 0.8120181 0.13725611 0.2789380
9  -0.83660500      -2.662440e+00   2.465425 0.9485307 0.16033095 0.3258317
10 -0.78413800      -4.514190e+00   0.998115 1.0177400 0.17202946 0.3496059
11 -0.73167100      -7.989510e+00  -1.585430 1.0502190 0.17751941 0.3607628
12 -0.67920400      -1.186870e+01  -5.740894 1.2281430 0.20759406 0.4218819
13 -0.62673800      -1.535970e+01  -9.325951 1.3289330 0.22463068 0.4565045
14 -0.57427100      -1.829150e+01 -12.010540 1.3279860 0.22447060 0.4561792
15 -0.52180400      -2.067170e+01 -14.672770 1.3296720 0.22475559 0.4567583
16 -0.46933700      -2.167890e+01 -14.912250 1.3192610 0.22299581 0.4531820
17 -0.41687000      -2.069820e+01 -12.850570 1.3288470 0.22461614 0.4564749
18 -0.36440300      -1.662640e+01  -6.093746 1.3497100 0.22814263 0.4636416
19 -0.31193600      -1.265950e+01  -5.210692 1.3602240 0.22991982 0.4672533
20 -0.25946900      -1.182580e+01  -6.041660 1.3818700 0.23357866 0.4746890
21 -0.20700200      -1.213370e+01  -5.765808 1.3854680 0.23418683 0.4759249
22 -0.15453500      -1.233680e+01  -6.985883 1.4025360 0.23707185 0.4817880
23 -0.10206800      -1.235160e+01  -7.152865 1.4224030 0.24042999 0.4886125
24 -0.04960160      -1.123630e+01  -3.600538 1.4122650 0.23871635 0.4851300
25  0.00286531      -9.086940e+00  -0.751673 1.5764920 0.26647578 0.5415439
26  0.05533220      -6.562710e+00   2.852910 1.5535620 0.26259991 0.5336672
27  0.10779900      -4.185860e+00   5.398850 1.5915640 0.26902342 0.5467214
28  0.16026600      -3.087430e+00   6.262459 1.6137360 0.27277117 0.5543377
29  0.21273300      -2.005150e+00   8.047920 1.6283340 0.27523868 0.5593523
30  0.26520000      -9.295540e-02  11.168640 1.6267620 0.27497297 0.5588123
31  0.31766700       1.450360e+00  12.345900 1.6363310 0.27659042 0.5620994
32  0.37013400       1.123910e+00  12.124650 1.6289230 0.27533824 0.5595546
33  0.42260100       2.426750e-01  11.279890 1.6137100 0.27276677 0.5543288
34  0.47506700       1.213370e-01  11.531670 1.6311490 0.27571450 0.5603193
35  0.52753400       5.265226e-21  11.284980 1.6662890 0.28165425 0.5723903

绘制两条曲线的代码是:

        deltamean01<-pmfprofbs01[,"bsmean"]-
pmfprofbs01[,"correctedpmfprof01"]
        correctmean01<-pmfprofbs01[,"bsmean"]-deltamean01
        deltamean1<-pmfprofbs1[,"bsmean"]-
pmfprofbs1[,"correctedpmfprof1"]
        correctmean1<-pmfprofbs1[,"bsmean"]-deltamean1


pl<- ggplot(pmfprof1, aes(x=pmfprof1[,1], y=pmfprof1[,2], 
                      colour="red")) +
  list(
  stat_smooth(method = "gam", formula = y ~ s(x), size = 1,
              colour="chartreuse3",fill="chartreuse3", alpha = 0.3),
  geom_line(data=pmfprof1,linetype=4, size=0.5,colour="chartreuse3"),
  geom_errorbar(aes(ymin=correctmean1-pmfprofbs1[,"bsci"], 
                    ymax=correctmean1+pmfprofbs1[,"bsci"]), 
                data=pmfprofbs1,colour="chartreuse3",
                width=0.02,size=0.9),
  geom_point(data=pmfprof1,size=1,colour="chartreuse3"),
  xlab(expression(xi*(nm))), 
  ylab("PMF (KJ/mol)"),
  ## GCD 
  geom_errorbar(aes(ymin=correctmean01-pmfprofbs01[,"bsci"], 
                    ymax=correctmean01+pmfprofbs01[,"bsci"]), 
                data=pmfprofbs01,
                width=0.02,size=0.9),
  geom_line(data=pmfprof01,aes(x=pmfprof01[,1],y=pmfprof01[,2]),
            linetype=4, size=0.5,colour="darkgreen"),
  stat_smooth(data=pmfprof01,method = "gam",aes(x=pmfprof01[,1],pmfprof01[,2]),
              formula = y ~ s(x), size = 1,
              colour="darkgreen",fill="darkgreen", alpha = 0.3),
theme(text = element_text(size=20),
      axis.text.x = element_text(size=20,colour="black"),
      axis.text.y = element_text(size=20,colour="black")),
  scale_x_continuous(breaks=number_ticks(8)),
  scale_y_continuous(breaks=number_ticks(8)),
  theme(panel.background = element_rect(fill ='white',
                                        colour='gray')),
  theme(plot.background = element_rect(fill='white',
                                       colour='white')),
  theme(legend.position="none"),
  theme(legend.key = element_blank()), 
  theme(legend.title = element_text(colour='gray', size=20)),
  NULL
    )
pl

这是使用pl的结果, [在此输入图像说明] [1]

[1]: https://i.stack.imgur.com/x8FjY.png

提前感谢任何建议,

0 个答案:

没有答案