3D boxplotの方法

13 views (last 30 days)
Ryuto Shigenobu
Ryuto Shigenobu on 15 Apr 2020
Commented: Kenta on 19 Apr 2020
3d boxプロットをするにはどうしたらよいでしょうか?
例えば以下のようなデータがあるとして、
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
figure;
s = surf(X,Y,Z,'FaceAlpha',0.5)
下記のような図を表示させることは可能でしょうか。
  2 Comments
Kenta
Kenta on 15 Apr 2020
こんにちは、確認させてほしいのですが、ほしい最終結果のxy座標の値は何に相当しているのでしょうか。
例えば、z=f(x,y)を考えて、箱ひげ図はz方向の値で作成し、それぞれのx, yのペアで取る値を座標(x,y)にて表示するということでしょうか?
Ryuto Shigenobu
Ryuto Shigenobu on 16 Apr 2020
すみません、質問が間違っておりました。
2次元配列をboxplotで表示することは可能ですが、3次元配列を3d でboxplotすることは可能でしょうか?
2次元配列の場合
f2=rand(10,10)
figure,boxplot(f2)
3次元配列の場合
f3=rand(10,10,10)
figure,boxplot(f3)%これは実行できない
z=f(x,y,t)と考えて、tを集約した時にboxplotでxとyに対するzの広がりを表示させたいと思っております。あわよくば、surfのようにboxの境界を面で表現できればと思っています。

Sign in to comment.

Accepted Answer

Kenta
Kenta on 16 Apr 2020
コメントのほう、返信ありがとうございました。ご質問を詳しく理解することができました。
3Dの箱ひげ図は以下にソースコードがありました。
ご質問の内容ですと、(それが満足のいく見せ方かどうかはおいておいて)上のソースコードで正しく表示はできると思います。
ただ、スムーズにつないで可視化したいのであれば、上のものに加えて、pachという関数でつなげるかもしれません。
例えば以下のようにスムーズにつなげることができます。surf関数でもよさそうですが、patchのほうがきれいに見えるかもしれません。
  2 Comments
Ryuto Shigenobu
Ryuto Shigenobu on 18 Apr 2020
概ね解決致しました。
アドバイスありがとうございます。
Kenta
Kenta on 19 Apr 2020
はい、そう聞けてよかったです。またよりよい3Dのbox plotができたら教えてもらえると幸いです。よろしくお願いいたします。

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!