【发布时间】:2015-09-16 07:05:14
【问题描述】:
我正在尝试在此图中的 x 轴上添加刻度以显示一年中的所有月份:
我的代码如下:
library(ggplot2)
library(scales)
p <- ggplot(df_test, aes(time, reading))
p + geom_point(alpha = 1/4) + geom_smooth()
我曾尝试使用scale_x_date,但遇到以下错误:
Error: Invalid input: date_trans works with objects of class Date only
这是我正在使用的数据框:
hour reading date time
1 53 1/1/15 2015-01-01 01:00:00
2 55 1/1/15 2015-01-01 02:00:00
3 56 1/1/15 2015-01-01 03:00:00
我的时间变量的类:
类(df_test$time) "POSIXct" "POSIXt"
【问题讨论】:
-
嗯,
df_test$time的类是什么?? -
已编辑以显示正在使用的数据框。我相信它是类日期时间,但不完全确定如何检查。
-
class(df_test$time)。您应该使用dput(df_test)提供您的数据或代表性样本(足以证明问题)。 -
我已经输出了 dput(df_test) 但是共享这些数据的最佳做法是什么?
-
取决于有多少。如果这足以证明问题,您可以
dput(head(df_test, 100))(前 100 行)。或者,您可以将数据集上传到某处并发布链接,但在这种情况下,这可能有点矫枉过正。无论如何,我的回答能解决你的问题吗? POSIXct 对scale_x_date(...)来说不是问题。