2017-07-19 14 views
0

現在、ggplot2とこれを実行しているスケールを使用していますが、+ 1年の日付範囲を表示するのが理想的です。あまり効率的でないので、これらの日付を実際にハードコーディングするべきではありません。Rスケール限界で日付範囲をプログラム的に表示

library(scales) #date time scales 
library(ggplot2) # Visualization 

ggplot(dataset,aes(x=datetime_start, y=dataset$Product, color=Stage, order = - as.numeric(Stage))) + 
geom_segment(aes(x=From,xend=To,yend=dataset$Product), size=10) + 
scale_x_datetime(
breaks = date_breaks("1 month"), 
labels=date_format("%b%y"), 
limits = c(
     as.POSIXct("2016-03-01"), 
     as.POSIXct("2018-02-01") 
) 
) + 

答えて

1

規模を拡大:あなたもなし、lubridateパッケージを必要とするよう

library(ggplot2) 
df <- data.frame(x = seq(Sys.Date()-lubridate::years(2), Sys.Date(), by="3 month")) 
df$y <- 1:nrow(df) 
p <- ggplot(df, aes(x, y)) + geom_line() 
p + scale_x_date(expand = c(0, 365)) 
+0

が見えますか? –

+0

これは、私の現在のコードにどのように適合しているか、ちょうど混乱しているように見えます。それを動作させようとしましたができませんでした。それが私が現在持っているものにどのように適合するかを明確にするのに役立つでしょうか? –

+0

@JaredPaceあなたの投稿を編集し、[最小再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610)を提供してくださいあなたは、Rタグ(その上にマウスを置いて)によって尋ねられるように、持っている。それで、あなたが現在持っているものと、なぜ上記がうまくいかないのかを見ることができます。 (私は日付を使用したので、時間があるので、60 * 60 * 24 * 365(365日ではなく、1秒あたりの秒数*分*日)が必要です。 – lukeA

関連する問題