【问题标题】:How to change x-axis from weekday names into dates?如何将 x 轴从工作日名称更改为日期?
【发布时间】:2020-03-17 17:55:08
【问题描述】:

我无法让我的绘图显示日期(即 23/01)而不是工作日名称(即星期四)。我的数据集包含蝙蝠活动的日期和测量值。我已将数据的“日期”列设置为 as.Date,格式为“%d.%m.%y”,每当我绘制图表时,我都会得到工作日名称而不是日期。

我的代码如下所示:

rdate<-as.Date(df,"%d.%m.%Y")
plot(df$Afromontane)

我的情节最终看起来像这样(下图)。一切都很好,只是我希望工作日名称是格式为 (d/m) 的日期。

df 看起来像这样:

structure(list(Date = c("23.01.20", "24.01.20", "25.01.20", "26.01.20", 
"27.01.20", "28.01.20", "29.01.20"), Afromontane = c(13.67, 0, 
0, 1.67, 3.67, 22, 3.33), Milkwood = c(8.33, 3.67, 8, 8.33, 4.33, 
6.33, 1)), row.names = c(NA, -7L), class = c("tbl_df", "tbl", 
"data.frame"))

【问题讨论】:

  • 您好,您能提供一个最小的示例吗?如果我们知道df 的外观会更容易为您提供帮助...
  • @Coy 我添加了我的 df 的照片
  • @LindesDeWaal 请将dput(df) 的输出放在帖子中,而不是图片。
  • 您缺少dput 的部分输出。另外,请不要在问题中包含Thanks in advance 之类的内容。我们尽量使问题简洁明了,并且没有不需要的项目。

标签: r date


【解决方案1】:

使用ggplot2 的最小示例:

library(ggplot2)

df = data.frame(date = sample(seq(as.Date('2001/01/01'), as.Date('2003/01/01'), by="day"), 10), x = runif(10, 1, 10))

df$shortdate <- format(df$date, format="%m-%d")

ggplot(df, aes(x = shortdate, y = x)) +
      geom_point()

或者,使用基础 R:

df = data.frame(date = sample(seq(as.Date('2001/01/01'), as.Date('2003/01/01'), by="day"), 10), x = runif(10, 1, 10))

plot(as.Date(df$date), df$x,xaxt = "n", type = "p")
axis(1, df$date, format(df$date, "%m-%d"))

【讨论】:

  • 鉴于使用的 OP plot(基本 R),您可能还想提供基本 R 等效答案。
猜你喜欢
  • 1970-01-01
  • 2014-10-03
  • 2020-01-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
相关资源
最近更新 更多