1

グラフの各日の正午に日軸ラベルを追加したいと思います。現在、真夜中にラベルを追加しますが、真夜中を示すグリッド線を保持しながら、これらのラベルが各日の中間に配置されることをお勧めします。使用してみhjustましたが、結果はあまり良くありませんでした。これを行う方法はありますか?

library(ggplot2)
library(scales)

dat <- data.frame(time_value=seq(as.POSIXct("2011-07-01"), length.out=24*30, by = "hours"),
                  usage_value=sample(1:10, 24*30, replace=TRUE),
                  group=1)
dat$week <- format(dat$time_value, '%W')
dat <- subset(dat, week == 27)

ggplot(dat, aes(x=time_value, y=usage_value, group=1)) + 
  scale_x_datetime(breaks='day', labels=date_format('%A')) +
  geom_line()
4

1 に答える 1

2

これが1つの方法です。

まず、正午のデータを作成します。これは、次を使用して非常に簡単seq.Dateです。

次に、プロットに a を追加geom_vlineします。

noon <- data.frame(
  x=with(dat, seq(from=min(time_value), to=max(time_value), by="1 day"))+12*60*60
)

ggplot(dat, aes(x=time_value, y=usage_value, group=1)) + 
  geom_line() +
  geom_vline(data=noon, aes(xintercept=x), col="blue") 

ここに画像の説明を入力

于 2012-04-25T18:55:16.413 に答える