全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7443 15
2017-01-13
像用ggplot2画一张x轴一天中不同时刻(每隔2个小时)的气象图,但是x轴不能自动之别为时间格式,导致成图以后x轴的顺序不对,具体如下。
1.数据:

date

time

at

rh

12-13日

8:00:00

18.63

80.60

12-13日

10:00:00

26.20

54.76

12-13日

12:00:00

31.36

31.30

12-13日

14:00:00

34.64

25.76

12-13日

16:00:00

36.15

23.19

12-13日

18:00:00

36.96

21.67

12-13日

20:00:00

36.19

25.77

12-13日

22:00:00

29.61

41.95

12-13日

0:00:00

22.69

56.54

12-13日

2:00:00

23.10

49.02

12-13日

4:00:00

20.03

55.65

12-13日

6:00:00

16.43

72.19

13-14日

8:00:00

19.34

67.98

13-14日

10:00:00

28.10

43.27

13-14日

12:00:00

32.84

28.59

13-14日

14:00:00

36.20

21.51

13-14日

16:00:00

38.53

17.91

13-14日

18:00:00

39.83

16.34

13-14日

20:00:00

38.93

18.38

13-14日

22:00:00

31.61

30.50

13-14日

0:00:00

26.13

38.96

13-14日

2:00:00

26.84

35.80

13-14日

4:00:00

26.27

35.19

13-14日

6:00:00

22.76

47.86

16-17日

8:00:00

18.55

69.40

16-17日

10:00:00

26.15

45.99

16-17日

12:00:00

30.53

32.74

16-17日

14:00:00

33.35

24.69

16-17日

16:00:00

35.24

22.98

16-17日

18:00:00

35.87

22.96

16-17日

20:00:00

34.38

27.17

16-17日

22:00:00

29.20

37.34

16-17日

0:00:00

23.39

54.15

16-17日

2:00:00

18.38

68.98

16-17日

4:00:00

16.46

75.77

16-17日

6:00:00

15.50

78.22


2.代码:
library(ggplot2)
data=read.table("clipboard",header=T,sep="\t")
p=ggplot(data,aes(x=time,y=rh,shape=date))+geom_point(size=5)
p
3.图片效果见附件:

附件列表
QQ截图20170112201211.png

原图尺寸 178.41 KB

原始数据

原始数据

QQ截图20170112201118.png

原图尺寸 180.02 KB

已在excel中设置过格式

已在excel中设置过格式

1.jpg

原图尺寸 347.65 KB

导入R以后,显示格式为factor

导入R以后,显示格式为factor

无标题.jpg

原图尺寸 44.76 KB

成图之后的时间序列不对

成图之后的时间序列不对

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-1-13 03:19:16
成图之后的时间没有数据列表中的排,猜测是该列格式不对,尝试使用strptime()进行了转换,还是不行,有没有大神能够帮忙看一下,我论文中需要做大量这样的时间序列图。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-13 13:14:38
在Excel中,要调整好date和time的格式,确保月、日、时、分、秒都是两位数的数字表示
自定义01.png
自定义02.png
回到R中
library(readr)
library(hws)
data <- read.table("clipboard", header = TRUE)
data$date <- parse_date(data$date)
data$time <- parse_time(data$time)
data %>% tbl_df()
转换.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-16 11:12:04
或者不调整Excel里的格式,用:
library(readr)
library(lubridate)
library(hws)
data <- read.table("clipboard", header = TRUE)
data$date <- ymd(data$date)
data$time <- parse_time(data$time)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-18 13:36:49
我觉得问题主要出在你的时间上,只有时间的情况下,不同日期下的时间R会认为是同一个,因此在原始数据中,你需要录入日期-时间格式。为了显示清晰,我加了条线。(不带线的之前做得,不晓得如何删除)
复制代码





附件列表
Rplot.png

原图尺寸 6.33 KB

作废

作废

01.PNG

原图尺寸 10.99 KB

数据样式

数据样式

Rplot.png

原图尺寸 8.45 KB

最终版本

最终版本

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-18 14:02:30
使用as.POSIXct()函数将time 列转换为时间值,再试试
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群