3D boxplotの方法

11 ビュー (過去 30 日間)
Ryuto Shigenobu
Ryuto Shigenobu 2020 年 4 月 15 日
コメント済み: Kenta 2020 年 4 月 19 日
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 件のコメント
Kenta
Kenta 2020 年 4 月 15 日
こんにちは、確認させてほしいのですが、ほしい最終結果のxy座標の値は何に相当しているのでしょうか。
例えば、z=f(x,y)を考えて、箱ひげ図はz方向の値で作成し、それぞれのx, yのペアで取る値を座標(x,y)にて表示するということでしょうか?
Ryuto Shigenobu
Ryuto Shigenobu 2020 年 4 月 16 日
すみません、質問が間違っておりました。
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の境界を面で表現できればと思っています。

サインインしてコメントする。

採用された回答

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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange調査と可視化 についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!