为什么ggplot填充我的曲线下的区域不正确?

我想创建一个在曲线下填充的图。然而,当我创建一个geom_area图表时,ggplot看起来像是在填充相反的内容。我输入的数据应该在2035年与x轴相交。也许这是问题的一部分。

我最近更新了R和ggplot,并且正在运行一年前的代码。我没有对代码做任何更改,而且它也一直没有正常工作。

noxdata <- data.frame(cumulativeRFNOxmeanRCP8.5, year, rep("NOx", t))
print(ggplot(noxdata, aes(x= year, y = cumulativeRFNOxmeanRCP8.5)) + geom_area())

对于正的y值,我希望图形从直线到轴向下填充。对于负的y值,我希望图形填充到轴。

图形打印如下所示

?

?

    structure(list(cumulativeRFNOxmeanRCP8.5 = c(0.409020673658567, 
0.358611871303873, 0.314175266176158, 0.274957516637221, 0.240353965356165, 
0.209820107400905, 0.182870961473262, 0.159088354495211, 0.138102232099954, 
0.119579030674611, 0.103233751136427, 0.0888089309294732, 0.0760809930243924, 
0.0648513072355175, 0.054944326694088, 0.0462067775209758, 0.0385015082819657, 
0.03170906586359, 0.0257234453867727, 0.0204510336829283, 0.0158094920548716, 
0.0117256688929296, 0.0081353830235195, 0.00498181203904257, 
0.00221463406285393, -0.000210522937973307, -0.00233285575985432, 
-0.00418711154356764, -0.0058040152648845, -0.00721070121777238, 
-0.00843122659622239, -0.00948701070669643, -0.0103969239148175, 
-0.0111777425235182, -0.0118444175826675, -0.0124100124888184, 
-0.01288641327789, -0.0132838594279357, -0.0136116085308595, 
-0.0138777029693664, -0.0140897491273111, -0.0142538575570662, 
-0.0143759358552563, -0.014461030587642, -0.0145136821700535, 
-0.0145378149180291, -0.0145369762353128, -0.0145143628953989, 
-0.0144729028889248, -0.0144151204730438, -0.0143431513034882, 
-0.0142588270977769, -0.0141639940958009, -0.0140601691657355, 
-0.013948757295594, -0.0138310132258692, -0.0137079337932286, 
-0.0135804435477933, -0.0134493472082689, -0.013315451628038, 
-0.0131795193619975, -0.0130420095082934, -0.0129033860776849, 
-0.0127641214628196, -0.0126246198495319, -0.0124852533019965, 
-0.0123462016093192, -0.0122078947582118, -0.0120703736007845, 
-0.011933928432497, -0.0117987415174026, -0.0116648076126413, 
-0.0115324410468185, -0.0114017025707225, -0.0112726255628603, 
-0.0111452232018112, -0.0110196191710653, -0.0108957913741106, 
-0.010773841453528, -0.0106537099743912, -0.0105355557708506, 
-0.0104192120315686, -0.010304843525561, -0.0101923685762832, 
-0.0100818462306076, -0.00997318900705693, -0.00986642884534278, 
-0.00976151295813682, -0.00965844817514067, -0.00955717848848539, 
-0.00945760369394343, -0.00935985492760123, -0.00926386470782237, 
-0.00916953768012502, -0.0090769079374498, -0.00898586301291129, 
-0.00889643555725118, -0.00880864515144812, -0.00872232943831988, 
-0.00863766416841234), year = c(2010, 2011, 2012, 2013, 2014, 
2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 
2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 
2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 
2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 
2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 
2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 
2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 
2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 
2103, 2104, 2105, 2106, 2107, 2108, 2109), rep..NOx...t. = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L), .Label = "NOx", class = "factor")), class = "data.frame", row.names = c(NA, 
-100L))

转载请注明出处:http://www.shenzhenzsmy.com/article/20230512/2585685.html