2012-03-14 47 views
-3

我有三列與日期,var1和var2。我喜歡創建條形圖日期是x軸,var1和var2是y軸。我可以在折線圖中做到這一點,但我真的很想看看這是如何在帶有時間序列數據的條形圖中完成的。需要創建一個堆棧條形圖

我的數據會是這樣的:

Date   var1  var2 
2011-12-06 37608.1 12304.2 
2011-12-07 76430.9 28617.7 
2011-12-08 93112.3 33414.6 
2011-12-09 100334.8 28112.0 
2011-12-10 70474.0 23641.4 
2011-12-11 231113.6 78172.5 

我進行這樣的:

x<-melt(diskIO, id=c("Date")) 

然後

qplot(x = factor(Date), y = value, data = x, geom = "bar", fill = variable) 

但軸上的日期是不是真的可讀,可有人建議組織日期好一點。

+0

我試着像這樣的東西融化它:diskIO_1 < - 融(diskIO,ID = c(「Date」,「var1」,「var2」),然後像這樣發出命令qplot(x = factor(Date),y = value,data = diskIO,geom =「bar」,fill = variable) – 2012-03-15 14:28:52

回答

3

這個怎麼樣,有ggplot2

# load libraries 
library(ggplot2) 
library(reshape2) 
# load data 
df1 <- read.table(header=TRUE, text= 
"Date   var1  var2 
2011-12-06 37608.1 12304.2 
2011-12-07 76430.9 28617.7 
2011-12-08 93112.3 33414.6 
2011-12-09 100334.8 28112.0 
2011-12-10 70474.0 23641.4 
2011-12-11 231113.6 78172.5") 
# reshape for plotting 
df1.m <-melt(df1) 
# make a quick plot 
qplot(x = factor(Date), y = value, data = df1.m, geom = "bar", fill = variable) 

,並將所得的情節......

enter image description here

+0

Ben,它不適合我,我有一個數據框,是從一個文件寫入的,Date,var1和v ar2列。我將它融化併發出你的qplot命令,但找不到和錯誤變量對象。 – 2012-03-15 14:07:21

+0

當我在我的數據框上融化時,出現此錯誤:使用作爲ID變量 as.POSIXct.numeric(value)中的錯誤:必須提供'origin' – 2012-03-15 14:12:58

+1

@mikesmith這意味着您的真實數據框不是與您在問題中提供的數據相同。如果您向我們提供不良信息,您可能會得到誤導性答案。嘗試編輯您的問題,以便它實際反映數據的結構。函數'str'和'dput'在這裏可能很有用。 – joran 2012-03-15 14:41:07