1

次のように、1週間の時系列データのグラフをプロットしたいと思います。

Day1    Time    Day2  Time      Day3  Time.......Day7   Time
123    00:00hr  7897  00:00hr   4662  00:00hr    1235   00:00hr   
4562   01:00hr  4645  01:00hr   4564  01:00hr....7898    01:00hr
.....  .......   .... .......   ....  ...............    ......
.....  .......   ....  ......   ....  ...............       .....
.... ..... ....... ...............................................

4653   23:00    46456  23:00hr  7895  23:00hr    7892    23:00hr

上記の時系列データのグラフを同じグラフにプロットしたいのですが、グラフは、最初にDay1(24時間すべて)のグラフを最初にプロットし、次にDay2、Day3...を連続してプロットするようにする必要があります。X軸は、(day1,00)、(day1,01).......(day2,00)..のような時間インデックスである必要があります。

これらの問題から私を助けてください

4

1 に答える 1

1

データ生成:

set.seed(1)
df <- data.frame(matrix(round(runif(24*7,0,1000), 0), ncol=7))
colnames(df) <- paste0("Day", 1:7)
df$Time <- c(sprintf("0%d:00", 0:9), sprintf("%d:00", 10:23))
df

Timeここでは、同じ値の7つの列は必要ないと思います。

これで、一般的reshapeggplotルーチンを使用できます。

require(reshape2)
require(ggplot2)
mdf <- melt(df, id.vars="Time")
g <- ggplot(mdf, aes(x=1:(24*7))) + geom_line(aes(y=value))
g

プロットを生成します:

ここに画像の説明を入力してください

x軸の美学:

g + scale_x_continuous(breaks=seq(0, 24*7, 24), labels=0:7, name="Days")

ここに画像の説明を入力してください

基本的なグラフィックソリューション:

plot(mdf$value, type="l")

ここに画像の説明を入力してください

于 2013-02-06T11:44:20.637 に答える