2017-10-11 100 views
-1

我正在回到R,并且在绘制我想要的数据时遇到了一些麻烦。x轴上的日期分组条形图

它的格式如下:

date   value1 value2 
10/25/2016 50  60 
12/16/2016 70  80 
01/05/2017 35  45 

而且我想绘制值1和值2彼此相邻,与x轴相应的日期。到目前为止,我有这个,我试图只绘制第一个值:

df$date <- as.Date(df$date, "%m/%d/%Y") 
ggplot(data=df,aes(x=date,y=value1)) 

但是结果图并没有显示任何内容。 x和y轴上的最大值似乎对应于我的数据框的范围,但为什么没有显示出来?

虽然它与plot(df$date,df$value1)一起工作,所以我不明白我做错了什么。

回答

3

仅ggplot调用实际上不会在图上创建任何图层。您需要添加一个geom

为此,您可能希望geom_point()geom_line()

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_point() 

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_line() 

,或者你可以一举两得,如果你想点和线

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_point() + 
    geom_line() 

如果你想两个值在剧情上,我会建议做一些数据操作冷杉t与tidyr包。

df %>% 
    gather(key = "group", value = "value", value1:value2) %>% 
    ggplot(aes(date, value, color = group, group = group)) + 
    geom_line() 
+0

谢谢:)如果我想同时在图上同时存在value1和value2? –

+0

增加了如何通过一些次要数据操作轻松将它们添加到绘图。如果你刚刚回到R中,并且不熟悉它,'%>%'符号就是管道,并且在'tidyverse'中很常见。它可以直接使用'magrittr'软件包或'dplyr'软件包加载 – tbradley

+0

谢谢! –