1

重複の可能性:
ggplot2 を使用して、x 軸に日付、y 軸に時間をプロットする

時間、日付、値を含むテーブルがあります。たとえば、

time    date        value
00:01   2012-04-01  100
00:02   2012-04-01  150
00:03   2012-04-01  130
...
00:01   2012-04-02  80
00:02   2012-04-02  160
00:03   2012-04-02  20 
...
03:01   2012-04-06  120
03:02   2012-04-06  160
04:03   2012-04-06  70  
...

時間 (x 軸)、値 (y 軸) のグラフをプロットする必要があります。私はggplot2とlubridateを使用していますが、x軸に沿って30分ごとにRプロットを作成することはできません。約 3000 行あります (複数の日付の場合、00:00 から 23:59 までの数分で数回)。

これをどのように達成できるかについての提案。factor(time) を使用してみましたが、R はそれを時間値として扱いません (そのため、代わりに 2012-04-01 の 00:01 から 2012-04-06 の 23:59 までの連続値にラベルを付けようとします) .

4

1 に答える 1

0

すべてのフィードバックをありがとう。

scale_datetimeのパラメーターは0.9で変更されました。そのため、提案されているように、フォーマットの代わりにラベルを使用し、date_breaks関数を使用してブレークを設定しました。

グラフを作成するために、日時フィールドを追加しました-

df$comb <- ymd_hm(paste(df$date, df$time))

関数を定義し、

dropDate <- function(x){
3600*hour(x)+60*minute(x)+second(x)
}

qplot(dropDate(df$comb), df$average, ylim=c(0,20), geom="smooth", colour=df$date) + scale_x_datetime(breaks = date_breaks("1 hours"), labels=date_format("%H")) + xlab("Hour in UTC") + ylab("Average")
于 2012-06-01T16:18:38.000 に答える