簡體   English   中英

在X軸和Y軸上繪制日期的時間序列圖

[英]Plot a time series graph with dates on the X and Y axis

我使用R來重現以下圖表: 線圖的圖像,Y軸上的日期和月份以及X軸上的年份。圖表上的所有點都通過一條線連接。

所以我使用了以下數據框

Doy = as.data.frame(list( Year=Year, M_Day =M_Day, Mon_day = Mon_day))

其中Year,M_Day和Mon_day如下

Year = c(1960, 1961,
  1962,
  1963,
  1964,
  1965,
  1966,
  1967,
  1968,
  1969,
  1970,
  1971,
  1972,
  1973,
  1974,
  1975,
  1976,
  1977,
  1978,
  1979
)

M_Day = c("05-14",
  "05-05",
  "05-15",
  "05-31",
  "05-01",
  "05-01",
  "05-01",
  "05-01",
  "05-01",
  "05-01",
  "05-16",
  "05-14",
  "05-09",
  "05-22",
  "05-18",
  "06-17",
  "05-03",
  "05-06",
  "05-01",
  "05-03")

Mon_day = c("May-14",
  "May-05",
  "May-15",
  "May-31",
  "May-01",
  "May-01",
  "May-01",
  "May-01",
  "May-01",
  "May-01",
  "May-16",
  "May-14",
  "May-09",
  "May-22",
  "May-18",
  "Jun-17",
  "May-03",
  "May-06",
  "May-01",
  "May-03")

以及來自ggplot2的以下兩個命令

ggplot( Doy) + geom_line( aes( x=Year, y = M_Day)) + geom_point(aes( x=Year, y = M_Day)) 

ggplot( Doy) + geom_line( aes( x=Year, y = Mon_day)) + geom_point(aes( x=Year, y = Mon_day))

這給了我以下 兩個圖表的圖像,其中Y軸上的日期和月份以及X軸上的年份。僅連接具有相同Y值的點,因此圖表上有多條線,並且有些點根本沒有連接線。

這與第一張圖不相似。

使用as.Date(M_Day, format="%m-%d")將日期轉換為日期格式,並在比例中指定日期的所需輸出格式:

Year <- 1960:1979

M_Day <- as.Date(x=c("05-14", "05-05", "05-15", "05-31", "05-01", "05-01", "05-01", "05-01", "05-01", "05-01", "05-16", "05-14", "05-09", "05-22", "05-18", "06-17", "05-03", "05-06", "05-01", "05-03"),
                format="%m-%d")

Doy <- data.frame(Year=Year, M_Day=M_Day)

ggplot(Doy) + geom_line(aes(x=Year, y=M_Day), col="darkblue") + 
  geom_point(aes(x=Year, y=M_Day), col="darkred") + 
  scale_y_date(date_breaks = "1 week", date_labels = "%d %b")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM