2014-05-16 88 views
1

這是對我的挑戰。我想要繪製圖表根據數據幀:繪製「Y-Less」僅限日期圖表

BaseDate EventDate   EventType 
11/6/2009 11/6/2009 9:00  S 
11/6/2009 11/6/2009 17:00  E 
11/9/2009 11/9/2009 10:00  S 
11/9/2009 11/9/2009 14:00  E 
11/10/2009 11/10/2009 11:00 S 
11/10/2009 11/10/2009 18:00 E 
11/11/2009 11/11/2009 9:00  S 
11/11/2009 11/11/2009 10:00 E 
11/12/2009 11/12/2009 7:00  S 
11/12/2009 11/12/2009 20:00 E 

情節本身很簡單:我想畫的每EVENTTIME垂直線,並通過事件類型着色。當然,最明顯的通話不起作用:ggplot(logdates, aes(x = EventDate, y = EventType, color = EventType)) + geom_bar()

您對如何創建此圖表有什麼想法嗎?

UPDATE

的要求,這裏是我想要做一個草稿。請注意,沒有Y軸,因爲我沒有任何價值。

Draft of a chart

謝謝!

+0

我將上傳示例圖並修復錯誤的列名。 –

回答

2

首先,確保一切正確定義:

df$EventTime <- as.POSIXct(df$EventTime, format='%m/%d/%Y %H:%M', tz="UTC") 
df$EventType <- as.factor(df$EventType) 

不知道這是接近你想要什麼,但至少有一些垂直線:

ggplot(df, aes(x=EventTime, 
       ymin=0, 
       ymax=1, 
       colour=EventType)) + 
    geom_linerange() + 
    theme(axis.text.y=element_blank(), 
     axis.ticks.y=element_blank()) 

enter image description here

+0

這幾乎就在那裏!唯一的區別是,我想讓他們與我剛剛上傳的草稿一樣高。似乎刪除+/- 1/4打破了圖表... –

+0

@shadow起初我很困惑,但實際上「Nov 07」不是「2007年11月」,而是「2009年11月7日)」。 – tonytonov

+0

@RafaBorges在我的圖片中,他們擁有相同的身高,不是嗎? – tonytonov