2017-10-11 96 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

謝謝! –