2017-10-20 84 views
0
  Hour CrimeFreq  
1 1:00:00 AM 547 
2 1:00:00 PM 543 
3 10:00:00 AM 472 
4 10:00:00 PM 735 
5 11:00:00 AM 464 
6 11:00:00 PM 667 
7 12:00:00 AM 741 
8 12:00:00 PM 629 
9 2:00:00 AM 601 
10 2:00:00 PM 577 
11 3:00:00 AM 383 
12 3:00:00 PM 570 
13 4:00:00 AM 215 
14 4:00:00 PM 611 
15 5:00:00 AM 159 
16 5:00:00 PM 703 
17 6:00:00 AM 189 
18 6:00:00 PM 671 
19 7:00:00 AM 235 
20 7:00:00 PM 646 
21 8:00:00 AM 349 
22 8:00:00 PM 589 
23 9:00:00 AM 422 
24 9:00:00 PM 684 

我有上述(聚集从较大的数据集)我使用ggplot再顺序x轴左右的时间从上午12点进到下午11点中的R

ggplot(Time.Assault2014, aes(x=Hour, y= CrimeFreq, group=1)) + geom_line() 

所绘制的线图中的数据图出来是这样的:

enter image description here

有没有一种方法,我可以订购x轴从12AM去11PM?我想展示CrimeFreq如何在一天中改变。

基本上我希望它看起来像这样(从画面)

enter image description here

回答

0
library(dplyr) 

df2 <- df %>% 
    mutate(time = strptime(Hour, format="%I:%M:%S %p") %>% format(., "%H")) 

ggplot(df2, aes(time, CrimeFreq, group=1)) + 
     geom_line() 

enter image description here

编辑: 添加更强大的时间编码和scale_x_datetime复制画面图。

df2 <- df %>% 
     mutate(time = as.POSIXct(strptime(Hour, format="%I:%M:%S %p", tz="Singapore"))) 

ggplot(df2, aes(time, CrimeFreq, group=1)) + geom_line() + 
    scale_x_datetime(date_breaks = "2 hour", 
        labels = function(x) format(x, format = "%I%p", tz="Singapore")) 

enter image description here

+0

谢谢!我找到了重新命名X轴刻度标记的方法,因此它看起来像是在tableau中的一个,谢谢你! – NVerde

+0

@NVerde编辑了上面的代码,在ggplot中稍微更健壮的时间编码。时区可能是一个婊子,但。 –

相关问题