2017-01-26 19 views
0

毎時サンプリングされたデータがあり、それに応じてデータをプロットします。日付がX軸のラベルをカスタマイズするR

x<-c("2016-05-09 09:00:00", "2016-05-09 10:00:00", "2016-05-09 11:00:00", "2016-05-10 12:00:00") 
    y<- c(2,NA,3,5) 
    df<-data.frame(x,y) 

    plot(df$x,df$y) 

x軸では、私は年月日としてタイムスタンプを表示したいだけです。さらに、私は同じ日付でいくつかの測定値を持っていても、日付ごとに1つのラベルだけを表示したいだけです。これを行う方法はありますか?私は解決策を考え出した基本的な機能に

敬具、

+0

はどのようにあなたが同じ日付の測定を集約したいですか? –

+0

それはものです、私は測定値を集計するのではなく、元の時間単位でそれらを保持したいと思います。不明な点がありましたら申し訳ありません。 – user09034

答えて

0

は、かなり簡単です。

x <- 
    as.Date(
    c(
     "2016-05-09 09:00:00", 
     "2016-05-09 10:00:00", 
     "2016-05-09 11:00:00", 
     "2016-05-10 12:00:00" 
    ) 
) 
y <- c(2, NA, 3, 5) 
df <- data.frame(x, y) 

library(ggplot2) 
ggplot(df, aes(x = x, y = y)) + geom_line() + scale_x_date() 

enter image description here

+0

ありがとうございます。 Danielsのソリューションはggplot2を必要としますが、問題のポーズで問題を解決します。 – user09034

1

を好みます。おそらくそれは最高のものではなく、ここに行く:

私はx軸par(xaxt = 'l)のプロットを抑え、axis()を使って新しいx軸を作成しました。私はダニを1から測定した総時間数(連続データであることに注意してください)を24(1日の時間数)で並べ替えた後、ラベル= cを使って自分のラベルを追加しました( "2016-05-09 "、..)を軸()で表します。

私はわずか10日間のデータしか表示していないので、このソリューションは機能しています。私はこのアプローチが長いtimeseriesにはふさわしくないと思います。あなたがscale_x_date()を(あなたがas.Date()と日付にxを変換する必要があります)を使用することができますので、ggplotでこれをやって

#Hourly data 
    x<-c("2016-05-09 00:00:00","2016-05-09 01:00:00", "2016-05-09 02:00:00", "2016-05-09 03:00:00", "2016-05-09 04:00:00", "2016-05-09 05:00:00","2016-05-09 06:00:00","2016-05-09 07:00:00","2016-05-09 08:00:00","2016-05-09 09:00:00","2016-05-09 10:00:00","2016-05-09 11:00:00","2016-05-09 12:00:00","2016-05-09 13:00:00","2016-05-09 14:00:00","2016-05-09 15:00:00","2016-05-09 16:00:00","2016-05-09 17:00:00","2016-05-09 18:00:00","2016-05-09 19:00:00","2016-05-09 20:00:00","2016-05-09 21:00:00","2016-05-09 22:00:00","2016-05-09 23:00:00","2016-05-10 00:00:00") 
    y<-seq(1,length(x),by=1) 
    df<-data.frame(x,y) 

    #Suppress x-axis 
    plot(df$x,df$y,xaxt='n') 

    #Create new x-axis with ticks in 24 hour interval 
    axis(side=1,at=seq(1,length(x),by=24),labels=c("2016-05-09","2016-05-10")) 
+0

解決策を説明する代わりに、あなたの作品を表示してください。そうすれば、情報の将来探求者は正確な解決策を見ることができます。しかし、あなた自身の質問に対する解決策を見つけるための神。 – emilliman5

+0

私の解決策を取り入れるコードを追加しました – user09034

関連する問題