私は毎日の合計を計算した降雨データを連続的に収集しています。ここではいくつかのおもちゃのデータは次のとおりです。geom_stepを使用して毎日の降水量データをプロットする
Date <- c(seq(as.Date("2016-07-01"), by = "1 day", length.out = 10))
rain_mm <- c(3,6,8,12,0,0,34,23,5,1)
rain_data <- data.frame(Date, rain_mm)
次のように私はこのデータをプロットすることができます
次を与えるggplot(rain_data, aes(Date, rain_mm)) +
geom_bar(stat = "identity") +
scale_x_date(date_labels = "%d")
:
これは罰金です。ある日、どれくらいの降雨量があったかは明らかです。しかし、1日の正午と次の日の正午との間にある程度の雨が降ったと解釈することもできますが、それは間違いです。これは、グラフが同じ期間に関連する連続変数の他のプロットと結合されている場合に特に問題となります。
library(ggplot)
ggplot(rain_data, aes(Date, rain_mm)) +
geom_step() +
scale_x_date(date_labels = "%d")
与える:
これは、データを表示するための良い方法である、と今scale_x_dateがに表示されます
は、次のように私はgeom_step
を使用することができ、この問題ラウンドを取得するには連続軸である。しかし、ステップの下の領域を埋めるのはうれしいことですが、これを行うための簡単な方法を見つけることはできません。
質問:geom_stepの下にどのように記入することができますか?出来ますか?
また、このSO question hereで説明したように、マルチプロットの図において、同一のx軸を容易にするためにPOSIXct
にDate
を変換するのに有用であり得ます。次のように 私はこれを行うことができます。
library(dplyr)
rain_data_POSIX <- rain_data %>% mutate(Date = as.POSIXct(Date))
Date rain_mm
1 2016-07-01 01:00:00 3
2 2016-07-02 01:00:00 6
3 2016-07-03 01:00:00 8
4 2016-07-04 01:00:00 12
5 2016-07-05 01:00:00 0
6 2016-07-06 01:00:00 0
7 2016-07-07 01:00:00 34
8 2016-07-08 01:00:00 23
9 2016-07-09 01:00:00 5
10 2016-07-10 01:00:00 1
をしかし、これは、それぞれの日付の1:00の時間を与えます。私はむしろ00:00を持っています。 as.POSIXct
関数呼び出しでこれを変更することはできますか?それとも、別の関数を使用して後で行う必要がありますか?私はそれがtz = ""
と関係があると思いますが、それを理解することはできません。
Date
からPOSIXct
に変換すると、生成される時間が00:00になる場合はどうすればよいですか?
おかげ
最初の質問は、潜在的な重複のです:http://stackoverflow.com/questions/21887088/generate-a-filled-geom-step
私はとの良好な結果を見つけました –
seconde質問: 'tz =" GMT "'または単に1時間: 'as.POSIXct(Date) - 3600'を削除してください。 – timat
@ArtemSokolov私はそれを見ましたが、最近何か変わったかどうかを知りたいありがとう –