No.03869 3次元散布図について  【里芋】 2007/07/11(Wed) 17:03

基本的なことを質問させてください。
現在,統計ソフトの「R」を使って3次元散布図を描いているのですが,3次元散布図でデータの系列を増やすことはできるのでしょうか?
2次元の散布図では,以下のように描けばできるのですが,scatter3dで同様にしても3次元の散布図が入れ替わるだけで,重ねて描いてくれません。
plot(x, y)
par(new=TRUE)
plot(x2, y2, col="red")
どのようにすれば複数系列描けるのでしょうか...
初歩的な質問で申し訳ございませんが,どうかよろしくお願い致します。

No.03875 Re: 3次元散布図について  【青木繁伸】 2007/07/11(Wed) 18:33

以下のリンクが参考になるか
(具体的でないから参考にならないか?)
http://www.junlu.com/msg/50278.html

No.03876 Re: 3次元散布図について  【青木繁伸】 2007/07/11(Wed) 18:45

Mac な人なもので,scatter3d が Rcmdr のものなら使えないかなと思いましたが,rgl ライブラリの plot3d を使うものですかね?
だとすれば,以下のような具合に。
trimat と gendat は,http://aoki2.si.gunma-u.ac.jp/R のもの
n <- 500
d1 <- gendat(n, tri.mat(c(1,0.7,1,0.0,0.6,1),3))
d2 <- gendat(n, tri.mat(c(1,0.7,1,0.4,0.5,1),3))
d <- rbind(d1, d2)
plot3d(d[,1], d[,2], d[,3], col=rep(1:2, each=n), size=3)

このやり方は plot にも応用できるやりかたで,データセットが何組あろうと plot3d を1回しか使いません。
簡単であると同時に,もしデータセット間でデータの範囲が異なっているときにも,おかしなことは起きません。

fig


No.03877 Re: 3次元散布図について  【青木繁伸】 2007/07/11(Wed) 19:12

2次元散布図で,plot を二回使う場合です
x <- 1:10
y <- x^2
x2 <- 2:8
y2 <- x2^1.5
plot(x, y)
par(new=TRUE)
plot(x2, y2, col="red")
目盛りがめちゃくちゃです。

2 回目のデータプロットを plot ではなく,points を使うようにすれば par(new=TRUE) もいらないし,目盛りも問題なく描かれますが,その場合には 最初の plot で xlim と ylim が全データセットのデータポイントをカバーできるように手当てしておく必要があり,やはり面倒であることに変わりありません。

fig


No.03878 Re: 3次元散布図について  【青木繁伸】 2007/07/11(Wed) 19:13

plot を一回だけ使う場合です
x <- 1:10
y <- x^2
x2 <- 2:8
y2 <- x2^1.5
x3 <- c(x, x2)
y3 <- c(y, y2)
color <- rep(1:2, c(length(x), length(x2)))
plot(x3, y3, col=color)

fig


No.03880 ありがとうございます  【里芋】 2007/07/11(Wed) 22:21

青木先生
丁寧な御返事ありがとうございます。
はじめはRcmdrを使ってみたのですが,うまくいかず,直接打っていました。
ただいま手元で試してみることができませんが,後ほどご教授いただいたように致します。
何分初心者なもので先生の御指示下さったようにうまくできるか少し不安ですが,取り組んでみます。
お忙しいところ誠にありがとうございました。

● 「統計学関連なんでもあり」の過去ログ--- 040 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る