我有一个包含100个时间戳点的数据集。当我绘制图表时,横轴表示所有时间点,因此所有时间点都重叠在一起。如何在横轴上指示一些常规时间点而不是显示所有时间点?
EU
T_DCEP DCEP
1 05/02/2016 1:28 1.14596
2 05/02/2016 1:39 1.14684
3 05/02/2016 2:04 1.14488
4 05/02/2016 3:15 1.14820
5 05/02/2016 3:34 1.14750
6 05/02/2016 4:40 1.14915
7 05/02/2016 4:56 1.14849
8 05/02/2016 5:22 1.14913
9 05/02/2016 5:55 1.14761
10 05/02/2016 6:07 1.14821
. ... ..

我的代码:
ggplot(EU,aes(T_DCEP,DCEP, group = 1)) + geom_line()+geom_point()
答案 0 :(得分:0)
当绘图时,class
变量很重要。转换为有效的日期时间类来解决问题:
#Example data
set.seed(451)
dates <- seq(Sys.time()-99, Sys.time(), length.out=100)
df <- data.frame(x=dates, y=rnorm(100))
head(df)
# x y
# 1 2016-11-04 09:49:09 -0.9431540
# 2 2016-11-04 09:49:10 0.7257408
# 3 2016-11-04 09:49:11 2.5257787
# 4 2016-11-04 09:49:12 1.1916054
# 5 2016-11-04 09:49:13 3.1091791
# 6 2016-11-04 09:49:14 0.2848636
class(df$x)
[1] "POSIXct" "POSIXt"
此示例将正确绘制,因为它是一个正确的日期时间类。
ggplot(df, aes(x, y, group=1)) + geom_point() + geom_line()
但如果我没有合适的日期时间课程,那就像你的榜样。
df$x <- as.character(dates)
ggplot(df, aes(x, y, group=1)) + geom_point() + geom_line()