2008年
5月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2008-05-11 Rで日付を用いたグラフ

_ x軸が日付のグラフ

あるものの経時変化を見たくなったので、プロットしてみた。rubyでデータを計算するところまでは問題ないが、何を使ってプロットしようかというところで迷ってしまった。日付を数字に直してからプロットしても良いのだが、面倒だし。Rでも日付を扱えるようだったので、練習してみた。基本的には、as.Dateで文字列を日付に変換すれば、適当に処理してくれるようだ。文字列としては、"2008.5.11"じゃだめで、"2008/5/11"とか"2008-5-11"としないといけないようだ。あとは軸のところで、axis.Dateを使って指定するぐらいかな。
d<-read.table("number.out",header=TRUE)
xl<-as.Date(c("2004-4-1","2008-6-1"))
yl<-c(360,480)
par(tcl=0.5,xaxs="i",yaxs="i",ann=FALSE)
plot(as.Date(d$date),d$num,type="l",xlim=xl,ylim=yl,axes=FALSE)
box()
axis.Date(side=1,at=
  seq(from=as.Date("2004-4-1"),to=as.Date("2008-6-1"),by="6 months"),
  format="%Y%m")
axis(side=2)
axis(side=4,labels=FALSE)
mtext(side=2,"the number",line=3)
mtext(side=1,"date",line=3)
グラフを書くときは、軸とかラベルとかははずしてplotして、後から書いているが、それをそのまま適応すれば、ほとんど問題なくできた。年号が変わったときにだけ年を表示したいと思ったのだが、
format=c("%Y/%m","%m")
としてごまかした。これだと六ヶ月おきだから使える方法で、任意の間隔の場合には問題になるだろう。