統計のフリーソフトRを使って、グラフを作成させ、それをファイルに書き出すことを考える。
こうすれば、あとは、
Java から R の機能を呼び出し (Rserve を使用)
http://www.db.is.kyushu-u.ac.jp/rinkou/r/rserve.html
を使えば、Javaのプログラムから、統計処理をしたグラフなんかをじゃんじゃん出せることになる。
とくに、Javaで、TeXファイルを書き出し、それをPDFかなんかにすれば、統計処理した結果を、うるわしい帳票で出力できそうだ・・・
と、野望は大きいのだが、今日はその第一歩、グラフのお絵かきをする。
■今日の課題
こんなグラフを書き出します。
つまり、sinカーブを0から180度(pi)まで書いて、
そこに10個、ランダムに点を打ちます。
■plotすると・・・
つまり、sinカーブを0から180度(pi)まで書いて、
(その間に1000個の点を配置して、plotのとき、type="l"にしてつなぐ)
単純にプロットしてみましょう。
この結果が、下の通り。
なんか、浮いちゃって、かっこ悪い。
■軸をひく
そこで、ビシッと軸につくように、
1.plotのときに軸を書かない
2.axisで軸を引く
→横軸は、3で止まり、piまでひかれないので、線を引きなおしている
3.segmentsで線を引く
っていうことをしたのが、こんな感じ
■乱数を発生させて、図に載せる
一様乱数を発生させるのは、runif(n,0,pi)でいい。(nは個数。今回は0~piまで)
で、問題は、これを図に載せるために、
par(new=T)
をしている。これを書かないと、乱数だけ別のグラフになってしまう。
この乱数部分は、こんなかんじ。
今回はここまで。
こうすれば、あとは、
Java から R の機能を呼び出し (Rserve を使用)
http://www.db.is.kyushu-u.ac.jp/rinkou/r/rserve.html
を使えば、Javaのプログラムから、統計処理をしたグラフなんかをじゃんじゃん出せることになる。
とくに、Javaで、TeXファイルを書き出し、それをPDFかなんかにすれば、統計処理した結果を、うるわしい帳票で出力できそうだ・・・
と、野望は大きいのだが、今日はその第一歩、グラフのお絵かきをする。
■今日の課題
こんなグラフを書き出します。
つまり、sinカーブを0から180度(pi)まで書いて、
そこに10個、ランダムに点を打ちます。
■plotすると・・・
つまり、sinカーブを0から180度(pi)まで書いて、
(その間に1000個の点を配置して、plotのとき、type="l"にしてつなぐ)
単純にプロットしてみましょう。
delta<- 1000 en.x<-seq(0,pi,length=delta) en.y<-sin(seq(0,pi,length=delta)) plot(en.x,en.y,type="l",xlim=c(0,pi),ylim=c(0,1)) polygon(c(en.x,rev(en.x)),c(rep(0,delta),rev(en.y)),col="green") |
この結果が、下の通り。
なんか、浮いちゃって、かっこ悪い。
■軸をひく
そこで、ビシッと軸につくように、
1.plotのときに軸を書かない
2.axisで軸を引く
→横軸は、3で止まり、piまでひかれないので、線を引きなおしている
3.segmentsで線を引く
っていうことをしたのが、こんな感じ
delta<- 1000 en.x<-seq(0,pi,length=delta) en.y<-sin(seq(0,pi,length=delta)) plot(en.x,en.y,type="l",xlim=c(0,pi),ylim=c(0,1)) polygon(c(en.x,rev(en.x)),c(rep(0,delta),rev(en.y)),col="green") |
■乱数を発生させて、図に載せる
一様乱数を発生させるのは、runif(n,0,pi)でいい。(nは個数。今回は0~piまで)
で、問題は、これを図に載せるために、
par(new=T)
をしている。これを書かないと、乱数だけ別のグラフになってしまう。
この乱数部分は、こんなかんじ。
|
今回はここまで。