3Dのグラフを描くソフトウエアを探していましたら、Free UseでRという統計ソフトが見つかりました。さっそくダウンロードしてサンプルデータをグラフにしてみました。このR と呼ばれるソフトは有名な統計言語『 S 言語』をオープンソースとして実装し直した統計解析ソフトです.世界中の専門家が開発に携わっていてOSでいえばLinuxのような環境で提供されています。かなり優れたソフトで計算が早くグラフィックスも充実しているようです。
さっそくダウンロードしてサンプルデータをグラフにしてみました。まだ十分理解していないのでとりあえずサンプルプログラムは『同志社大学のPDF資料』から引用させてもらいました。
1) パッケージ graphics の中の関数persp を用いて3 次元のグラフを作成することもでき
る。次のコマンドで
ここで
、
とするとつぎの馬鞍形の3次元グラフが作成される。
>x <- seq(-5, 5, length=50)
>y <- x
>f <- function(x,y) {r <- (y^2)-(x^2)}
>z <- outer(x, y, f)
>persp(x, y, z,theta = 60,phi = 25,expand = 0.8,shade=.01,col = "lightgreen")

ちなみにこれと同じものをEXCELで描くと下記のようになります。Rのほうが綺麗に見えるようです。

2)R にはニュージーランドのオークランドのMaunga Whau 火山のデータvolcano がある。
このデータセットは 10m×10m 格子ごとのMaunga Whau の標高地形データ情報で、87 行
61 列のマトリックスで、北から南の方向の格子は行に、西から東の方向の格子は列に対応
している。このデータと関数persp 用いて次のコマンドで図23 に示す3 次元グラフを作成
することができる。
>data(volcano)
>z <- 5 * volcano # 見やすくするため高さを 5 倍に誇張
>x <- 10 * (1:nrow(z)) # 南北方向の 10 メートルの格子の辺
>y <- 10 * (1:ncol(z)) # 東西方向の 10 メートルの格子の辺
>par(bg = "skyblue") #背景の色設定
>persp(x, y, z, theta = 115, phi = 20, col = "lightgreen", scale = FALSE,ltheta = -120,
shade = 0.75, border = NA, box = FALSE)

3) もう一つ火山の図です。
>library(lattice)
>data(volcano)
>wireframe(volcano, shade = TRUE, aspect = c(61/87, 0.4), light.source = c(10,0,10))

4) R言語には統計の計算機能あり、前回EXCELで計算した円周率も下記のプログラムで計算できます。
> s<-10000000 #サンプル数=1000万回
> x<-runif(s) s回の乱数を発生させる。
> y<-runif(s) s回の乱数を発生させる。
> sum(x^2+y^2<=1)*4/s 円弧の中に入る数を全体の数で割る、
[1] 3.141970 これが答。
さっそくダウンロードしてサンプルデータをグラフにしてみました。まだ十分理解していないのでとりあえずサンプルプログラムは『同志社大学のPDF資料』から引用させてもらいました。
1) パッケージ graphics の中の関数persp を用いて3 次元のグラフを作成することもでき
る。次のコマンドで
>x <- seq(-5, 5, length=50)
>y <- x
>f <- function(x,y) {r <- (y^2)-(x^2)}
>z <- outer(x, y, f)
>persp(x, y, z,theta = 60,phi = 25,expand = 0.8,shade=.01,col = "lightgreen")

ちなみにこれと同じものをEXCELで描くと下記のようになります。Rのほうが綺麗に見えるようです。

2)R にはニュージーランドのオークランドのMaunga Whau 火山のデータvolcano がある。
このデータセットは 10m×10m 格子ごとのMaunga Whau の標高地形データ情報で、87 行
61 列のマトリックスで、北から南の方向の格子は行に、西から東の方向の格子は列に対応
している。このデータと関数persp 用いて次のコマンドで図23 に示す3 次元グラフを作成
することができる。
>data(volcano)
>z <- 5 * volcano # 見やすくするため高さを 5 倍に誇張
>x <- 10 * (1:nrow(z)) # 南北方向の 10 メートルの格子の辺
>y <- 10 * (1:ncol(z)) # 東西方向の 10 メートルの格子の辺
>par(bg = "skyblue") #背景の色設定
>persp(x, y, z, theta = 115, phi = 20, col = "lightgreen", scale = FALSE,ltheta = -120,
shade = 0.75, border = NA, box = FALSE)

3) もう一つ火山の図です。
>library(lattice)
>data(volcano)
>wireframe(volcano, shade = TRUE, aspect = c(61/87, 0.4), light.source = c(10,0,10))

4) R言語には統計の計算機能あり、前回EXCELで計算した円周率も下記のプログラムで計算できます。
> s<-10000000 #サンプル数=1000万回
> x<-runif(s) s回の乱数を発生させる。
> y<-runif(s) s回の乱数を発生させる。
> sum(x^2+y^2<=1)*4/s 円弧の中に入る数を全体の数で割る、
[1] 3.141970 これが答。
スポンサーサイト
