2017-10-20 91 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中稍微更健壯的時間編碼。時區可能是一個婊子,但。 –

相關問題