繁体   English   中英

Plot 日期在 x 轴和 y 轴“时间序列”R

[英]Plot dates on x-axis and y-axis 'timeseries' R

Using sample data below I would like to reproduce the plot (image shown below) at the bottom of this link https://nsidc.org/data/nsidc-0064 using any suitable package in R.

忽略样本 plot 中的红线。

df=structure(list(year = c(2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 
    2012L, 2013L, 2016L, 2017L), day = c(16L, 3L, 25L, 23L, 15L, 
    22L, 14L, 27L, 27L, 1L), day.month = c("16-May", "03-Jun", "25-May", 
    "23-Jun", "15-Apr", "22-May", "14-May", "27-May", "27-Mar", "01-May"
    )), class = "data.frame", row.names = c(NA, -10L))

任何建议表示赞赏!

在此处输入图像描述

嗨,这很棘手,次要 y 轴确实需要一段时间。

这段代码做了类似的事情,不同之处在于我无法获得我想要的图形的原点,轴标签与点一起,而不是规则间隔。


library(tidyverse)

df=structure(list(year = c(2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 
    2012L, 2013L, 2016L, 2017L), day = c(16L, 3L, 25L, 23L, 15L, 
    22L, 14L, 27L, 27L, 1L), day.month = c("16-May", "03-Jun", "25-May", 
    "23-Jun", "15-Apr", "22-May", "14-May", "27-May", "27-Mar", "01-May"
    )), class = "data.frame", row.names = c(NA, -10L)) 

ggplot() + 
  geom_line(data = df, aes(x = year, y = day), 
            group = 1, colour = 'light blue') + 
  ylab("Day of year") + 
  theme(axis.line = element_line(colour = "black")) +
  geom_line(data = df, aes(x = year, y = mean(day), group = 1), colour = 'black') +
  scale_x_continuous(limits = c(2006, 2017), n.breaks = 12) +
  scale_y_continuous(limits = c(1, 27), 
                     breaks = df$day, 
                     sec.axis = dup_axis(name = "", 
                                         labels = df$day.month)) +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        panel.background = element_blank(),
        axis.line = element_line(colour = "black")) 

我的代码创建的图表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM