スポンサーサイト

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

R: ヒストグラム上の軌道の描画

ggplot2の「geom_path」を使うと、下図のような図が描ける。ヒストグラム中で動力学的なトラジェクトリーを示したい場合に有効な手段である。

trjC03_convert_20101231181759.png

http://had.co.nz/ggplot2/geom_path.html

上図の背景は等高線プロットである。

trajectory03_convert_20101231182107.png

ggplotの、「図を重ねて次々に描ける」という機能が発揮された図だと思う。

申し訳ありませんが、たぶんこの記事は自分以外は意味がわからないかと存じます。コマンドが参考にできる程度にしか訳には立たないでしょう。私が持っているデータ、およびデータ変換方法まで書かないと意味を持たない記事になると思います。備忘録として私も書いていますし、その点、ご了承ください。

等高線プロットの描き方:
test3.Rによりhist3d*.datを変換してヒストグラムファイルとして渡した後、生成される「data3」を使ってtilesによる二次元ヒストグラムを描く要領(本ブログの過去の記事参照)でコマンドを入力する。

ggplot(data3, aes(x=data3[,1]/150.0, y=data3[,2]/100.0, z=data3[,3]/400000.0)) + stat_contour(binwidth=0.00003, size=0.2, colour = "#280B0B") + xlim(c(23,29)) + ylim(c(22.5,27.0)) + xlab(expression(R[g]^2)) + ylab(expression(paste(Sigma,theta)))


stat_contour()が、等高線プロットを指定する関数で、binwidthにより等高線の幅を決め(ちなみにmaxとminを考え、こちらから指定するある数で割った商だけ等高線を描くという方法もある)、等高線の線の太さをsizeにより決める。

ここで、このページで行った方法によりtrajectoryのファイルができているはずなので、これをRの作業フォルダに移し、これを読み込む。それぞれ「trajectory_???.dat」という名前で保存されているはずだ。

trajectory_???.datを、描きたい軌道の数だけR内のデータ配列に渡す。

datatA <- read.table("trajectory_C03A.dat")
datatD <- read.table("trajectory_C03D.dat")
datatE <- read.table("trajectory_C03E.dat")



そして、次のコマンドを実行する:

png("trj03.png",width=450,height=450)
ggplot(data3, aes(x=data3[,1]/150.0, y=data3[,2]/100.0, z=data3[,3]/400000.0)) + stat_contour(binwidth=0.00003, size=0.2, colour = "#280B0B") + xlim(c(23,29)) + ylim(c(22.5,27.0)) + xlab(expression(R[g]^2)) + ylab(expression(paste(Sigma,theta))) + geom_path(data=datatA, aes(datatA[,1],datatA[,2]),size=0.02, color=2,alpha=0.4) + geom_path(data=datatD, aes(datatD[,1],datatD[,2]),size=0.02, color=6,alpha=0.4) + geom_path(data=datatE, aes(datatE[,1],datatE[,2]),size=0.02, color=6,alpha=0.4)


おもしろいのはggplotでデータをdata3と指定している一方、軌道を描く「geom_path」というオプション関数(?)ではそれぞれ渡されているデータが異なるという点だ。
スポンサーサイト

コメントの投稿


非公開コメント

コメント

Profile

zoa

Author:zoa
Metropolis (1927)

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