スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

R: 大量の線を重ねてプロットする(geom_line使用)

細かい折れ線を同時に大量に描きたい場合、以下の方法が便利である:

下図のような図を描くことが目標である ↓

geomline

ライブラリ関数「gglot」を使うが、今回の場合はデータの形式をいかなるものにするかが要であろう。

コマンドは以下の通り、極めて単純である:

> ggplot(data=dataR, aes(x=num, y=value, group=gen)) + ylim(c(1.1,3.1))+
+ ylab(expression(theta)) + geom_line(size=0.02,colour="#1D2117")


この「 + geom_line()」でggplotに「折れ線で図を描く」ということを命令するのだが、ggplotの方で「group=」という指定を行うと、複数の線を描いてくれる。「aes(x=num, y=value, group=gen)」としたが、データには3軸、x、y、groupを与えれば、目的の図は描ける。

次のようなデータファイルを作成する:

gen num value
0 0.500000 1.943523
0 1.500000 1.285030
0 2.500000 1.618999
0 3.500000 2.098752
     ・
     ・
     ・
1000 0.500000 2.001602
1000 1.500000 1.232749
1000 2.500000 1.615162
1000 3.500000 2.012310
     ・
     ・
     ・
2000 0.500000 2.087536
2000 1.500000 1.195257
2000 2.500000 1.680437
2000 3.500000 2.139283
     ・
     ・
     ・


名前を「data.dat」としよう。作業フォルダに保存する。

次のコマンドで、最初の行をheaderとしてRに読み込ませ、このデータをR内の「dataR」というデータに渡す。

dataR <- read.table("data.dat",header=T)


「header=T」というオプションによりheaderを読み込ませた場合、その名前をRは記録し、また、その列にある数値を、行数を記録しつつ記録してくる。なので今の場合、gen、num、valueというこちらが勝手に指定した名前の軸を持つ3次元空間の中にある、データとして入力した点すべてを記録する。

先ほどのggplotのコマンドを入力すれば、先ほどの図が出力される。ggplotが動かない、という場合は、このブログの検索フォームに「install.R」と入れて検索すると方法が示されるだろう。


以下、管理人用の解読不能ページ

------------

手順:

1._rplotファイルから適当な場合(ΘとR2gで判断する)を抜きだし、trajectory12X.cに渡す。trajectory12X.c内で"r"ファイルとなる「recorded????.dat」を書き換えればよい。

2.trajectory12X.cのT、Cageを書き換えた上でシミュレーションを実行する。

3.trajectory_theta_12X.datにthetaの系列(このページで説明したデータファイルがこれに相当)が得られるので、R作業フォルダ内の「theta.dat」に移し、なおかつheaderを「gen re??? value」として編集する。

4.このページで紹介した方法でggplotからは出力される。その後、trajectoryのプロットをまた行わなければならない。シミュレーションを行ったフォルダ内にある「trajectory_12X.dat」の名前を適当に変更し、R作業フォルダへ移す。中身を操作する必要はない。trajectoryへ作業を移行
スポンサーサイト

出発前に

この記事を閲覧するにはパスワードが必要です
パスワード入力
Profile

zoa

Author:zoa
Metropolis (1927)

Calendar
11 | 2010/12 | 01
- - - 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 -
Labels
Admin
Previous Posts
Recent Comments
Recent Trackback
Archive
このページのトップへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。