7

週単位の時系列グラフを作成していますが、週は日曜日から開始する必要があります。scale_x_date(breaks = date_breaks('1 week')) グリッド線とラベルを月曜日に開始するように指定すると、結果が少しずれて見えます。ggplot scale_x_date 週を日曜日に開始するにはどうすればよいですか

これは私のコードの例です

library(ggplot2)
library(scales)

data.set <- structure(list(week.start = structure(c(15732, 15739,
                           15746, 15753, 15760, 15767, 15774, 15781,
                           15788, 15795, 15802, 15809 ), class =
                           "Date"), overtime.avg = c(2.8,
                           2.85666666666667, 2.18333333333333,
                           2.44666666666667, 2.04833333333333,
                           2.45833333333333, 2.12833333333333,
                           1.81666666666667, 1.82166666666667,
                           1.54333333333333, 2.09166666666667,
                           0.970833333333333)), .Names =
                           c("week.start", "overtime.avg"), row.names
                           = 29733:29744, class = "data.frame")

ggplot(data = data.set,
       aes(x = week.start,
           y = overtime.avg)) +
    geom_line() +
    geom_point() +
    scale_x_date(breaks = date_breaks("1 week"),
                 labels = date_format(format = "%Y-%m-%d"))
4

1 に答える 1

8

1 つの方法は、 function を使用して、最初の日曜日 ( の最小値を使用) と setseq()から始まる独自のブレーク ポイントを提供することです。week.startby="week"

ggplot(data = data.set,aes(x = week.start,y = overtime.avg)) +
  geom_line() +
  geom_point() +
  scale_x_date(breaks = seq(min(data.set$week.start),max(data.set$week.start),by="week"),
               labels = date_format(format = "%Y-%m-%d"))
于 2013-04-25T14:52:19.293 に答える