如何在R中填充曲线下但低于阈值的区域

vmdwslir  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(94)

我试图根据标志的不同将曲线下的区域填充为不同的颜色。下面是可复制的数据。在https://stackoverflow.com/a/28587516/9096420之后,我尝试geom_ribbon()

library(ggplot2)

ggplot(data=Test,aes(x=Time,y=North_Pacific_SST_anom,fill=Sign))+
  geom_line()+
  geom_hline(yintercept=0)+
  geom_ribbon(data=subset(OI, Sign==-1),
              aes(ymin=North_Pacific_SST_anom,ymax=0),
              fill="red",alpha=0.5)+
  geom_ribbon(data=subset(OI, Sign==1),
              aes(ymin=0,ymax=North_Pacific_SST_anom),
              fill="blue",alpha=0.5)

字符串


的数据
然而,我最终在线条之外使用了连接的颜色。我明白为什么会发生这种情况。如果我们切换到将数据绘制为点(将上面的geom_line()+更改为geom_point()+),我们可以看到这些点只是连接的:



我现在的想法是使用一些插值函数来填充更多的点,这样就不会出现这种情况,但我很好奇是否有更简单的方法。
或者,我已经开始使用geom_polygon()https://stackoverflow.com/a/19388329/9096420),这会产生其他问题,比如我需要更仔细地指定路径,但我认为这仍然可能有问题,因为图穿过水平线(yintercept=0):



任何想法都赞赏。

Test<-structure(list(Time = c(1950, 1950.08333333333, 1950.16666666667, 
1950.25, 1950.33333333333, 1950.41666666667, 1950.5, 1950.58333333333, 
1950.66666666667, 1950.75, 1950.83333333333, 1950.91666666667, 
1951, 1951.08333333333, 1951.16666666667, 1951.25, 1951.33333333333, 
1951.41666666667, 1951.5, 1951.58333333333, 1951.66666666667, 
1951.75, 1951.83333333333, 1951.91666666667, 1952, 1952.08333333333, 
1952.16666666667, 1952.25, 1952.33333333333, 1952.41666666667, 
1952.5, 1952.58333333333, 1952.66666666667, 1952.75, 1952.83333333333, 
1952.91666666667, 1953, 1953.08333333333, 1953.16666666667, 1953.25, 
1953.33333333333, 1953.41666666667, 1953.5, 1953.58333333333, 
1953.66666666667, 1953.75, 1953.83333333333, 1953.91666666667, 
1954, 1954.08333333333, 1954.16666666667, 1954.25, 1954.33333333333, 
1954.41666666667, 1954.5, 1954.58333333333, 1954.66666666667, 
1954.75, 1954.83333333333, 1954.91666666667, 1955, 1955.08333333333, 
1955.16666666667, 1955.25, 1955.33333333333, 1955.41666666667, 
1955.5, 1955.58333333333, 1955.66666666667, 1955.75, 1955.83333333333, 
1955.91666666667, 1956, 1956.08333333333, 1956.16666666667, 1956.25, 
1956.33333333333, 1956.41666666667, 1956.5, 1956.58333333333, 
1956.66666666667, 1956.75, 1956.83333333333, 1956.91666666667, 
1957, 1957.08333333333, 1957.16666666667, 1957.25, 1957.33333333333, 
1957.41666666667, 1957.5, 1957.58333333333, 1957.66666666667, 
1957.75, 1957.83333333333, 1957.91666666667, 1958, 1958.08333333333, 
1958.16666666667, 1958.25, 1958.33333333333, 1958.41666666667, 
1958.5, 1958.58333333333, 1958.66666666667, 1958.75, 1958.83333333333, 
1958.91666666667, 1959, 1959.08333333333, 1959.16666666667, 1959.25, 
1959.33333333333, 1959.41666666667, 1959.5, 1959.58333333333, 
1959.66666666667, 1959.75, 1959.83333333333, 1959.91666666667, 
1960, 1960.08333333333, 1960.16666666667, 1960.25, 1960.33333333333, 
1960.41666666667, 1960.5, 1960.58333333333, 1960.66666666667, 
1960.75, 1960.83333333333, 1960.91666666667, 1961, 1961.08333333333, 
1961.16666666667, 1961.25, 1961.33333333333, 1961.41666666667, 
1961.5, 1961.58333333333, 1961.66666666667, 1961.75, 1961.83333333333, 
1961.91666666667, 1962, 1962.08333333333, 1962.16666666667, 1962.25, 
1962.33333333333, 1962.41666666667, 1962.5, 1962.58333333333, 
1962.66666666667, 1962.75, 1962.83333333333, 1962.91666666667, 
1963, 1963.08333333333, 1963.16666666667, 1963.25, 1963.33333333333, 
1963.41666666667, 1963.5, 1963.58333333333, 1963.66666666667, 
1963.75, 1963.83333333333, 1963.91666666667, 1964, 1964.08333333333, 
1964.16666666667, 1964.25, 1964.33333333333, 1964.41666666667, 
1964.5, 1964.58333333333, 1964.66666666667, 1964.75, 1964.83333333333, 
1964.91666666667, 1965, 1965.08333333333, 1965.16666666667, 1965.25, 
1965.33333333333, 1965.41666666667, 1965.5, 1965.58333333333, 
1965.66666666667, 1965.75, 1965.83333333333, 1965.91666666667, 
1966, 1966.08333333333, 1966.16666666667, 1966.25, 1966.33333333333, 
1966.41666666667, 1966.5, 1966.58333333333, 1966.66666666667, 
1966.75, 1966.83333333333, 1966.91666666667, 1967, 1967.08333333333, 
1967.16666666667, 1967.25, 1967.33333333333, 1967.41666666667, 
1967.5, 1967.58333333333, 1967.66666666667, 1967.75, 1967.83333333333, 
1967.91666666667, 1968, 1968.08333333333, 1968.16666666667, 1968.25, 
1968.33333333333, 1968.41666666667, 1968.5, 1968.58333333333, 
1968.66666666667, 1968.75, 1968.83333333333, 1968.91666666667, 
1969, 1969.08333333333, 1969.16666666667, 1969.25, 1969.33333333333, 
1969.41666666667, 1969.5, 1969.58333333333, 1969.66666666667, 
1969.75, 1969.83333333333, 1969.91666666667, 1970, 1970.08333333333, 
1970.16666666667, 1970.25, 1970.33333333333, 1970.41666666667, 
1970.5, 1970.58333333333, 1970.66666666667, 1970.75, 1970.83333333333, 
1970.91666666667, 1971, 1971.08333333333, 1971.16666666667, 1971.25, 
1971.33333333333, 1971.41666666667, 1971.5, 1971.58333333333, 
1971.66666666667, 1971.75, 1971.83333333333, 1971.91666666667, 
1972, 1972.08333333333, 1972.16666666667, 1972.25, 1972.33333333333, 
1972.41666666667, 1972.5, 1972.58333333333, 1972.66666666667, 
1972.75, 1972.83333333333, 1972.91666666667, 1973, 1973.08333333333, 
1973.16666666667, 1973.25, 1973.33333333333, 1973.41666666667, 
1973.5, 1973.58333333333, 1973.66666666667, 1973.75, 1973.83333333333, 
1973.91666666667, 1974, 1974.08333333333, 1974.16666666667, 1974.25, 
1974.33333333333, 1974.41666666667, 1974.5, 1974.58333333333, 
1974.66666666667, 1974.75, 1974.83333333333, 1974.91666666667, 
1975, 1975.08333333333, 1975.16666666667, 1975.25, 1975.33333333333, 
1975.41666666667, 1975.5, 1975.58333333333, 1975.66666666667, 
1975.75, 1975.83333333333, 1975.91666666667, 1976, 1976.08333333333, 
1976.16666666667, 1976.25, 1976.33333333333, 1976.41666666667, 
1976.5, 1976.58333333333, 1976.66666666667, 1976.75, 1976.83333333333, 
1976.91666666667, 1977, 1977.08333333333, 1977.16666666667, 1977.25, 
1977.33333333333, 1977.41666666667, 1977.5, 1977.58333333333, 
1977.66666666667, 1977.75, 1977.83333333333, 1977.91666666667, 
1978, 1978.08333333333, 1978.16666666667, 1978.25, 1978.33333333333, 
1978.41666666667, 1978.5, 1978.58333333333, 1978.66666666667, 
1978.75, 1978.83333333333, 1978.91666666667, 1979, 1979.08333333333, 
1979.16666666667, 1979.25, 1979.33333333333, 1979.41666666667, 
1979.5, 1979.58333333333, 1979.66666666667, 1979.75, 1979.83333333333, 
1979.91666666667, 1980, 1980.08333333333, 1980.16666666667, 1980.25, 
1980.33333333333, 1980.41666666667, 1980.5, 1980.58333333333, 
1980.66666666667, 1980.75, 1980.83333333333, 1980.91666666667, 
1981, 1981.08333333333, 1981.16666666667, 1981.25, 1981.33333333333, 
1981.41666666667, 1981.5, 1981.58333333333, 1981.66666666667, 
1981.75, 1981.83333333333, 1981.91666666667, 1982, 1982.08333333333, 
1982.16666666667, 1982.25, 1982.33333333333, 1982.41666666667, 
1982.5, 1982.58333333333, 1982.66666666667, 1982.75, 1982.83333333333, 
1982.91666666667, 1983, 1983.08333333333, 1983.16666666667, 1983.25, 
1983.33333333333, 1983.41666666667, 1983.5, 1983.58333333333, 
1983.66666666667, 1983.75, 1983.83333333333, 1983.91666666667, 
1984, 1984.08333333333, 1984.16666666667, 1984.25, 1984.33333333333, 
1984.41666666667, 1984.5, 1984.58333333333, 1984.66666666667, 
1984.75, 1984.83333333333, 1984.91666666667, 1985, 1985.08333333333, 
1985.16666666667, 1985.25, 1985.33333333333, 1985.41666666667, 
1985.5, 1985.58333333333, 1985.66666666667, 1985.75, 1985.83333333333, 
1985.91666666667, 1986, 1986.08333333333, 1986.16666666667, 1986.25, 
1986.33333333333, 1986.41666666667, 1986.5, 1986.58333333333, 
1986.66666666667, 1986.75, 1986.83333333333, 1986.91666666667, 
1987, 1987.08333333333, 1987.16666666667, 1987.25, 1987.33333333333, 
1987.41666666667, 1987.5, 1987.58333333333, 1987.66666666667, 
1987.75, 1987.83333333333, 1987.91666666667, 1988, 1988.08333333333, 
1988.16666666667, 1988.25, 1988.33333333333, 1988.41666666667, 
1988.5, 1988.58333333333, 1988.66666666667, 1988.75, 1988.83333333333, 
1988.91666666667, 1989, 1989.08333333333, 1989.16666666667, 1989.25, 
1989.33333333333, 1989.41666666667, 1989.5, 1989.58333333333, 
1989.66666666667, 1989.75, 1989.83333333333, 1989.91666666667, 
1990, 1990.08333333333, 1990.16666666667, 1990.25, 1990.33333333333, 
1990.41666666667, 1990.5, 1990.58333333333, 1990.66666666667, 
1990.75, 1990.83333333333, 1990.91666666667, 1991, 1991.08333333333, 
1991.16666666667, 1991.25, 1991.33333333333, 1991.41666666667, 
1991.5, 1991.58333333333, 1991.66666666667, 1991.75, 1991.83333333333, 
1991.91666666667, 1992, 1992.08333333333, 1992.16666666667, 1992.25, 
1992.33333333333, 1992.41666666667, 1992.5, 1992.58333333333, 
1992.66666666667, 1992.75, 1992.83333333333, 1992.91666666667, 
1993, 1993.08333333333, 1993.16666666667, 1993.25, 1993.33333333333, 
1993.41666666667, 1993.5, 1993.58333333333, 1993.66666666667, 
1993.75, 1993.83333333333, 1993.91666666667, 1994, 1994.08333333333, 
1994.16666666667, 1994.25, 1994.33333333333, 1994.41666666667, 
1994.5, 1994.58333333333, 1994.66666666667, 1994.75, 1994.83333333333, 
1994.91666666667, 1995, 1995.08333333333, 1995.16666666667, 1995.25, 
1995.33333333333, 1995.41666666667, 1995.5, 1995.58333333333, 
1995.66666666667, 1995.75, 1995.83333333333, 1995.91666666667, 
1996, 1996.08333333333, 1996.16666666667, 1996.25, 1996.33333333333, 
1996.41666666667, 1996.5, 1996.58333333333, 1996.66666666667, 
1996.75, 1996.83333333333, 1996.91666666667, 1997, 1997.08333333333, 
1997.16666666667, 1997.25, 1997.33333333333, 1997.41666666667, 
1997.5, 1997.58333333333, 1997.66666666667, 1997.75, 1997.83333333333, 
1997.91666666667, 1998, 1998.08333333333, 1998.16666666667, 1998.25, 
1998.33333333333, 1998.41666666667, 1998.5, 1998.58333333333, 
1998.66666666667, 1998.75, 1998.83333333333, 1998.91666666667, 
1999, 1999.08333333333, 1999.16666666667, 1999.25, 1999.33333333333, 
1999.41666666667, 1999.5, 1999.58333333333, 1999.66666666667, 
1999.75, 1999.83333333333, 1999.91666666667, 2000, 2000.08333333333, 
2000.16666666667, 2000.25, 2000.33333333333, 2000.41666666667, 
2000.5, 2000.58333333333, 2000.66666666667, 2000.75, 2000.83333333333, 
2000.91666666667, 2001, 2001.08333333333, 2001.16666666667, 2001.25, 
2001.33333333333, 2001.41666666667, 2001.5, 2001.58333333333, 
2001.66666666667, 2001.75, 2001.83333333333, 2001.91666666667, 
2002, 2002.08333333333, 2002.16666666667, 2002.25, 2002.33333333333, 
2002.41666666667, 2002.5, 2002.58333333333, 2002.66666666667, 
2002.75, 2002.83333333333, 2002.91666666667, 2003, 2003.08333333333, 
2003.16666666667, 2003.25, 2003.33333333333, 2003.41666666667, 
2003.5, 2003.58333333333, 2003.66666666667, 2003.75, 2003.83333333333, 
2003.91666666667, 2004, 2004.08333333333, 2004.16666666667, 2004.25, 
2004.33333333333, 2004.41666666667, 2004.5, 2004.58333333333, 
2004.66666666667, 2004.75, 2004.83333333333, 2004.91666666667, 
2005, 2005.08333333333, 2005.16666666667, 2005.25, 2005.33333333333, 
2005.41666666667, 2005.5, 2005.58333333333, 2005.66666666667, 
2005.75, 2005.83333333333, 2005.91666666667, 2006, 2006.08333333333, 
2006.16666666667, 2006.25, 2006.33333333333, 2006.41666666667, 
2006.5, 2006.58333333333, 2006.66666666667, 2006.75, 2006.83333333333, 
2006.91666666667, 2007, 2007.08333333333, 2007.16666666667, 2007.25, 
2007.33333333333, 2007.41666666667, 2007.5, 2007.58333333333, 
2007.66666666667, 2007.75, 2007.83333333333, 2007.91666666667, 
2008, 2008.08333333333, 2008.16666666667, 2008.25, 2008.33333333333, 
2008.41666666667, 2008.5, 2008.58333333333, 2008.66666666667, 
2008.75, 2008.83333333333, 2008.91666666667, 2009, 2009.08333333333, 
2009.16666666667, 2009.25, 2009.33333333333, 2009.41666666667, 
2009.5, 2009.58333333333, 2009.66666666667, 2009.75, 2009.83333333333, 
2009.91666666667, 2010, 2010.08333333333, 2010.16666666667, 2010.25, 
2010.33333333333, 2010.41666666667, 2010.5, 2010.58333333333, 
2010.66666666667, 2010.75, 2010.83333333333, 2010.91666666667, 
2011, 2011.08333333333, 2011.16666666667, 2011.25, 2011.33333333333, 
2011.41666666667, 2011.5, 2011.58333333333, 2011.66666666667, 
2011.75, 2011.83333333333, 2011.91666666667, 2012, 2012.08333333333, 
2012.16666666667, 2012.25, 2012.33333333333, 2012.41666666667, 
2012.5, 2012.58333333333, 2012.66666666667, 2012.75, 2012.83333333333, 
2012.91666666667, 2013, 2013.08333333333, 2013.16666666667, 2013.25, 
2013.33333333333, 2013.41666666667, 2013.5, 2013.58333333333, 
2013.66666666667, 2013.75, 2013.83333333333, 2013.91666666667, 
2014, 2014.08333333333, 2014.16666666667, 2014.25, 2014.33333333333, 
2014.41666666667, 2014.5, 2014.58333333333, 2014.66666666667, 
2014.75, 2014.83333333333, 2014.91666666667, 2015, 2015.08333333333, 
2015.16666666667, 2015.25, 2015.33333333333, 2015.41666666667, 
2015.5, 2015.58333333333, 2015.66666666667, 2015.75, 2015.83333333333, 
2015.91666666667, 2016, 2016.08333333333, 2016.16666666667, 2016.25, 
2016.33333333333, 2016.41666666667, 2016.5, 2016.58333333333, 
2016.66666666667, 2016.75, 2016.83333333333, 2016.91666666667, 
2017, 2017.08333333333, 2017.16666666667, 2017.25, 2017.33333333333, 
2017.41666666667, 2017.5, 2017.58333333333, 2017.66666666667, 
2017.75, 2017.83333333333, 2017.91666666667, 2018, 2018.08333333333, 
2018.16666666667, 2018.25, 2018.33333333333, 2018.41666666667, 
2018.5, 2018.58333333333, 2018.66666666667, 2018.75, 2018.83333333333, 
2018.91666666667, 2019, 2019.08333333333, 2019.16666666667, 2019.25, 
2019.33333333333, 2019.41666666667, 2019.5, 2019.58333333333, 
2019.66666666667, 2019.75, 2019.83333333333, 2019.91666666667, 
2020, 2020.08333333333, 2020.16666666667, 2020.25, 2020.33333333333, 
2020.41666666667, 2020.5, 2020.58333333333, 2020.66666666667, 
2020.75, 2020.83333333333, 2020.91666666667, 2021, 2021.08333333333, 
2021.16666666667, 2021.25, 2021.33333333333, 2021.41666666667, 
2021.5, 2021.58333333333, 2021.66666666667, 2021.75, 2021.83333333333, 
2021.91666666667, 2022, 2022.08333333333, 2022.16666666667, 2022.25, 
2022.33333333333, 2022.41666666667, 2022.5, 2022.58333333333, 
2022.66666666667, 2022.75, 2022.83333333333, 2022.91666666667
), North_Pacific_SST_anom = c(NaN, NaN, 0.01, -0.01, 0.03, 0, 
-0.03, -0.11, -0.09, -0.12, -0.16, -0.14, -0.09, -0.12, -0.13, 
-0.14, -0.2, -0.15, -0.15, -0.17, -0.17, -0.09, -0.11, -0.09, 
-0.11, -0.1, -0.15, -0.23, -0.28, -0.3, -0.32, -0.29, -0.29, 
-0.27, -0.29, -0.32, -0.34, -0.35, -0.36, -0.39, -0.4, -0.4, 
-0.38, -0.34, -0.32, -0.32, -0.29, -0.28, -0.28, -0.21, -0.16, 
-0.3, -0.44, -0.51, -0.52, -0.58, -0.55, -0.44, -0.4, -0.4, -0.32, 
-0.2, -0.18, -0.16, -0.16, -0.18, -0.22, -0.21, -0.17, -0.12, 
-0.07, -0.03, 0.02, 0.06, 0.04, 0, -0.04, -0.1, -0.17, -0.17, 
-0.16, -0.13, -0.07, 0.03, 0.05, 0.09, 0.11, 0.04, -0.02, -0.06, 
-0.16, -0.22, -0.23, -0.21, -0.24, -0.18, -0.12, -0.09, -0.13, 
-0.12, -0.08, -0.15, -0.2, -0.2, -0.26, -0.33, -0.3, -0.24, -0.2, 
-0.11, -0.05, -0.04, -0.06, -0.1, -0.16, -0.2, -0.21, -0.24, 
-0.26, -0.3, -0.3, -0.31, -0.35, -0.42, -0.39, -0.41, -0.4, -0.4, 
-0.39, -0.46, -0.52, -0.58, -0.6, -0.55, -0.45, -0.38, -0.28, 
-0.19, -0.13, -0.11, -0.12, -0.13, -0.13, -0.11, -0.12, -0.03, 
-0.01, 0.01, 0.04, 0.01, -0.01, -0.08, -0.16, -0.25, -0.24, -0.23, 
-0.13, -0.04, 0.06, 0.05, 0.06, 0.06, 0.02, -0.09, -0.14, -0.2, 
-0.28, -0.29, -0.27, -0.22, -0.17, -0.18, -0.24, -0.3, -0.41, 
-0.55, -0.6, -0.55, -0.51, -0.43, -0.33, -0.27, -0.28, -0.33, 
-0.37, -0.49, -0.58, -0.63, -0.62, -0.61, -0.52, -0.47, -0.39, 
-0.36, -0.33, -0.37, -0.43, -0.5, -0.56, -0.57, -0.51, -0.43, 
-0.38, -0.32, -0.26, -0.22, -0.12, 0.01, 0.14, 0.29, 0.32, 0.23, 
0.11, -0.02, -0.2, -0.24, -0.22, -0.17, -0.1, -0.07, -0.08, -0.13, 
-0.22, -0.34, -0.44, -0.46, -0.45, -0.39, -0.35, -0.3, -0.3, 
-0.38, -0.41, -0.38, -0.4, -0.51, -0.5, -0.54, -0.62, -0.63, 
-0.53, -0.47, -0.4, -0.38, -0.4, -0.38, -0.38, -0.36, -0.29, 
-0.21, -0.18, -0.13, -0.16, -0.18, -0.26, -0.35, -0.41, -0.49, 
-0.65, -0.7, -0.67, -0.65, -0.58, -0.43, -0.3, -0.25, -0.23, 
-0.27, -0.31, -0.38, -0.45, -0.53, -0.52, -0.49, -0.43, -0.33, 
-0.25, -0.17, -0.15, -0.21, -0.31, -0.4, -0.5, -0.57, -0.55, 
-0.51, -0.45, -0.36, -0.31, -0.28, -0.29, -0.34, -0.41, -0.46, 
-0.45, -0.42, -0.44, -0.42, -0.37, -0.38, -0.38, -0.3, -0.27, 
-0.35, -0.41, -0.47, -0.51, -0.53, -0.52, -0.47, -0.43, -0.41, 
-0.4, -0.37, -0.42, -0.48, -0.61, -0.8, -0.94, -1.03, -1.09, 
-0.99, -0.84, -0.67, -0.53, -0.41, -0.39, -0.39, -0.41, -0.4, 
-0.32, -0.29, -0.35, -0.35, -0.37, -0.46, -0.49, -0.42, -0.43, 
-0.46, -0.39, -0.36, -0.34, -0.32, -0.28, -0.31, -0.3, -0.25, 
-0.22, -0.19, -0.22, -0.24, -0.27, -0.27, -0.28, -0.3, -0.3, 
-0.28, -0.29, -0.3, -0.28, -0.3, -0.4, -0.45, -0.48, -0.54, -0.57, 
-0.63, -0.69, -0.71, -0.66, -0.63, -0.54, -0.48, -0.44, -0.45, 
-0.45, -0.42, -0.41, -0.4, -0.39, -0.4, -0.4, -0.37, -0.35, -0.3, 
-0.23, -0.25, -0.37, -0.5, -0.61, -0.7, -0.69, -0.57, -0.45, 
-0.37, -0.33, -0.34, -0.35, -0.42, -0.53, -0.58, -0.59, -0.62, 
-0.61, -0.51, -0.43, -0.41, -0.38, -0.34, -0.31, -0.28, -0.24, 
-0.21, -0.2, -0.22, -0.3, -0.36, -0.4, -0.4, -0.36, -0.32, -0.31, 
-0.36, -0.42, -0.52, -0.57, -0.6, -0.54, -0.48, -0.4, -0.37, 
-0.35, -0.36, -0.36, -0.42, -0.49, -0.5, -0.49, -0.49, -0.44, 
-0.36, -0.35, -0.38, -0.39, -0.41, -0.44, -0.5, -0.62, -0.79, 
-0.9, -0.94, -0.89, -0.78, -0.64, -0.51, -0.45, -0.44, -0.44, 
-0.47, -0.51, -0.56, -0.59, -0.57, -0.52, -0.47, -0.38, -0.29, 
-0.23, -0.15, -0.08, -0.09, -0.11, -0.09, -0.08, -0.08, -0.05, 
0.01, 0.02, -0.01, 0, 0.03, 0.02, 0.02, 0.07, 0.07, 0.06, 0.07, 
0.12, 0.15, 0.23, 0.27, 0.29, 0.28, 0.23, 0.18, 0.12, 0.01, -0.13, 
-0.19, -0.24, -0.23, -0.17, -0.1, -0.05, -0.02, -0.04, -0.09, 
-0.16, -0.31, -0.45, -0.52, -0.52, -0.47, -0.35, -0.25, -0.17, 
-0.14, -0.16, -0.21, -0.3, -0.44, -0.53, -0.53, -0.48, -0.41, 
-0.27, -0.14, -0.08, -0.07, -0.07, -0.07, -0.06, 0.02, 0.09, 
0.17, 0.2, 0.21, 0.13, 0.07, 0.05, -0.01, -0.09, -0.21, -0.29, 
-0.37, -0.42, -0.43, -0.34, -0.23, -0.14, -0.04, 0.05, 0.06, 
0, -0.06, -0.13, -0.2, -0.22, -0.21, -0.21, -0.16, -0.12, -0.07, 
-0.03, 0.04, 0.08, 0.13, 0.15, 0.14, 0.1, 0.02, -0.03, -0.1, 
-0.14, -0.17, -0.15, -0.15, -0.13, -0.14, -0.08, -0.06, -0.07, 
-0.06, -0.05, -0.12, -0.15, -0.16, -0.21, -0.24, -0.23, -0.24, 
-0.26, -0.27, -0.25, -0.22, -0.22, -0.18, -0.13, -0.12, -0.18, 
-0.2, -0.2, -0.19, -0.14, -0.05, 0.03, 0.07, 0.04, -0.01, -0.07, 
-0.15, -0.23, -0.24, -0.23, -0.19, -0.1, -0.04, -0.03, -0.05, 
-0.13, -0.22, -0.27, -0.26, -0.24, -0.16, -0.07, 0, -0.02, -0.04, 
-0.09, -0.12, -0.18, -0.18, -0.19, -0.17, -0.18, -0.17, -0.14, 
-0.1, -0.11, -0.12, -0.09, -0.1, -0.07, -0.06, -0.05, -0.07, 
-0.05, -0.05, -0.01, 0.08, 0.17, 0.23, 0.26, 0.26, 0.22, 0.18, 
0.16, 0.15, 0.13, 0.13, 0.13, 0.13, 0.15, 0.17, 0.19, 0.21, 0.22, 
0.17, 0.1, 0, -0.08, -0.17, -0.23, -0.24, -0.24, -0.21, -0.15, 
-0.07, -0.02, -0.01, -0.05, -0.1, -0.13, -0.18, -0.2, -0.21, 
-0.28, -0.32, -0.31, -0.28, -0.27, -0.21, -0.16, -0.17, -0.17, 
-0.14, -0.12, -0.12, -0.08, -0.05, -0.05, -0.03, -0.03, -0.04, 
-0.03, -0.01, 0.02, 0.06, 0.08, 0.1, 0.06, -0.02, -0.15, -0.22, 
-0.29, -0.29, -0.23, -0.13, -0.1, -0.11, -0.14, -0.19, -0.23, 
-0.22, -0.17, -0.16, -0.15, -0.08, -0.04, -0.04, 0, 0.04, 0.01, 
-0.03, -0.03, -0.02, -0.02, -0.01, 0.04, 0.05, 0.05, 0.03, -0.01, 
-0.1, -0.15, -0.21, -0.26, -0.25, -0.17, -0.17, -0.16, -0.11, 
-0.11, -0.14, -0.13, -0.08, -0.06, -0.01, 0.07, 0.19, 0.24, 0.24, 
0.23, 0.23, 0.22, 0.23, 0.28, 0.29, 0.26, 0.28, 0.31, 0.38, 0.47, 
0.46, 0.37, 0.28, 0.21, 0.17, 0.23, 0.31, 0.39, 0.42, 0.36, 0.32, 
0.25, 0.22, 0.2, 0.21, 0.16, 0.16, 0.1, 0.05, 0.04, 0.06, 0.1, 
0.2, 0.29, 0.32, 0.26, 0.19, 0.11, 0.01, -0.04, 0.01, 0.04, 0.03, 
0.05, 0.06, 0.02, -0.01, 0.02, 0, 0.02, 0.1, 0.17, 0.21, 0.27, 
0.28, 0.27, 0.23, 0.21, 0.25, 0.32, 0.35, 0.38, 0.39, 0.33, 0.26, 
0.26, 0.29, 0.36, 0.45, 0.53, 0.55, 0.6, 0.58, 0.5, 0.45, 0.47, 
0.46, 0.49, 0.54, 0.59, 0.58, 0.6, 0.62, 0.65, 0.64, 0.59, 0.52, 
0.44, 0.36, 0.35, 0.41, 0.45, 0.48, 0.53, 0.5, 0.46, 0.44, 0.43, 
0.42, 0.44, 0.47, 0.5, 0.53, 0.59, 0.66, 0.72, 0.75, 0.78, 0.74, 
NaN, NaN), Sign = c(NaN, NaN, 1, -1, 1, 0, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 
0, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 
-1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 
1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-1, 0, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 
1, 1, 1, 1, 1, -1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, NaN, NaN)), row.names = c(NA, -876L), class = "data.frame")

vohkndzv

vohkndzv1#

使用线性插值,我们可以消除视觉问题,但这是一个有点黑客的解决方案(并且可能会减慢处理速度并导致更大的文件大小):

Test2<-data.frame(approx(x=Test$Time,y=Test$North_Pacific_SST_anom,n = 5000))
Test2$Sign<-sign(Test2$y)
names(Test2)<-c("Time","North_Pacific_SST_anom","Sign")

ggplot(data=Test2,aes(x=Time,y=North_Pacific_SST_anom,fill=Sign))+
  geom_line()+
  geom_hline(yintercept=0)+
  geom_ribbon(data=subset(Test2, Sign==-1),
              aes(ymin=North_Pacific_SST_anom,ymax=0),
              fill="red",alpha=0.5)+
  geom_ribbon(data=subset(Test2, Sign==1),
              aes(ymin=0,ymax=North_Pacific_SST_anom),
              fill="blue",alpha=0.5)

字符串
一个包含5000个观测值的数据集(总共5000个- 876个原始观测值=插值观测值)开始看起来更好,但并不完美:
x1c 0d1x的数据
50,000个观察结果几乎是不可见的(n = 50000;但如果你放大,仍然可以稍微看到):



经过10万次观察,我再也看不到线条之外的颜色了。

相关问题