2011-08-12 11 views
1

私はこのようになり、データがあります。私はこのようにそれをプロットするとsmoothfieldプロットで日付フィールドを正しくフォーマットするにはどうすればよいですか?

> head(data) 
       date price volume 
1 2011-06-26 17:16:05 17.51001 2.000 
2 2011-06-26 20:50:00 14.80351 2.981 
3 2011-06-26 20:51:00 14.90000 2.000 
4 2011-06-26 20:52:00 14.89001 0.790 
5 2011-06-26 20:53:00 15.00000 1.000 
6 2011-06-26 21:05:01 16.20000 6.500 
> str(head(data)) 
'data.frame': 6 obs. of 3 variables: 
$ date : POSIXct, format: "2011-06-26 17:16:05" "2011-06-26 20:50:00" "2011-06-26 20:51:00" "2011-06-26 20:52:00" ... 
$ price : num 17.5 14.8 14.9 14.9 15 ... 
$ volume: num 2 2.98 2 0.79 1 ... 

someColors <- colorRampPalette(c("black", "blue", "orange", "red"), space="Lab") 
smoothScatter(data, colramp=someColors) 

を、私は私が探しているほぼ正確に何を得るが、それは数字にPOSIXの日付を変換し、 。私のものがもっと読みやすくなるようにxラベルをより便利に設定するにはどうすればいいですか?

https://img.skitch.com/20110812-nmsrtdbtaey3yqa29g8xkc17tn.png

編集:しかし、ひどく遅いです

smoothScatter(data, colramp=someColors, xaxt="n") 
axis(1, at=data$date, 
    labels=lapply(data$date, function(d) strftime(d, "%F")), 
    tick=FALSE) 

:私はこのように何をしたいの近似値を得ることができます。私はラベル・ドロワーのデータやアドバイスを準備することができるはずです。

答えて

2

速度に関しては、x軸ラベルに使用する日付の範囲を指定すると役立ちます。

days <- seq(min(data$date), max(data$date), by = 'month') 
axis(1, at=days, 
    labels=strftime(days, "%F"), 
    tick=FALSE) 

また、最も近い日に時間を丸めるために役立つかもしれない:例えば、それは私の質問に答えてくれについて考えるための新しい方法を与えたという点で

days <- seq(as.Date(min(data$date)), as.Date(max(data$date)), by = 'month') 
+0

グレート、それは非常に有用でしたもの。今私はちょうどそこにダニを取得する方法を学ぶ必要があります。どうもありがとう。 :) – Dustin

関連する問題