首页 > 解决方案 > 在散点图 R 中绘制年份和月份

问题描述

我有一个带有年份和月份编号的数据集,我试图针对另一个变量进行绘图,在本例中为“MEI”。这是数据的一个小样本:

Year,   Month,  MEI,
1983,   5,  2.556,
1983,   6,  2.167,
1983,   7,  1.741,
1983,   8,  1.13,
1983,   9,  0.428,
1983,   10, 0.002,
1983,   11, -0.176,
1983,   12, -0.176,
1984,   1,  -0.339,
1984,   2,  -0.565,

有没有办法使 x 轴多年来连续(月 11、12、1、2)。我试过了:

plot(weather$Month, weather$MEI, main = 'Regression for MEI Each Month Over 16.5 Years', 
xlab = 'Month (From May 1983 to December 2008', ylab = 'MEI')

我得到了这个散点图。 在此处输入图像描述

标签: rdataframedatescatter-plot

解决方案


一种解决方案是通过添加“01”作为日期从年/月值生成日期。您可以使用dplyr::mutate. 如果您ggplot2用于绘图,它也会使格式化日期 x 轴更容易。

library(dplyr)
library(ggplot2)

weather %>% 
  mutate(Date = as.Date(paste(Year, Month, "01", sep = "-"))) %>% 
  ggplot(aes(Date, MEI)) + 
  geom_point() + 
  scale_x_date(date_labels = "%b %Y")

在此处输入图像描述


推荐阅读