別々のパネルではなく、同じパネル グラフに複数の時系列をプロットしたいと考えています。以下の R コードは、別の stackoverflow の投稿から取得しました。
3 つの時系列が 3 つの異なるパネルにあることに注意してください。1 つのパネルに 3 つの時系列を重ねるにはどうすればよいでしょうか。各線の色が異なる場合があります。
Time = Sys.time()+(seq(1,100)*60+c(rep(1,100)*3600*24, rep(2, 100)*3600*24, rep(3, 100)*3600*24))
Value = rnorm(length(Time))
Group = c(0, cumsum(diff(Time) > 1))
library(ggplot2)
g <- ggplot(data.frame(Time, Value, Group)) +
geom_line (aes(x=Time, y=Value, color=Group)) +
facet_grid(~ Group, scales = "free_x")
上記のコードを実行すると、次のようになります。
パーツを削除するfacet_grid()
と、次のようなグラフが得られます。
基本的に、ggplot は日付の違いを無視し、時間のみを考慮したいと考えています。そしてgroup
、異なる日付を識別するために使用します。
この問題は、時間のみを含む新しい列を作成することで解決できる可能性があります (例: 22:01
、format="%H:%M"
)。ただし、as.POSIXct()
関数を使用すると、日付と時刻の両方を含む変数が取得されます。日付部分をエスケープできないようです。