2014-05-16 128 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