Plotting a 3-D Matrix, but only for some points
5 ビュー (過去 30 日間)
古いコメントを表示
I have 3 1 dimensional arrays representing XYZ coordinates. I also have a 3D array that corresponds to that, wherein each value is either 1 or 0. I'd like to create a 3-d surface plot where whenever its corresponding point in the matrix is one, it is plotted, whereas whenever it's 0 it is not (ie: if all values were 1 it would be a solid cube).
I have difficulty using normal means as each (X,Y) value has more than one z value corresponding to it.
Which function can I use to do this?
Thanks in advance,
0 件のコメント
回答 (1 件)
Bob Thompson
2019 年 11 月 22 日
I would suggest using scatter3 to make the actual plot. I would suggest using something like find to identify the locations of the 1 values. You may need your x, y, and z matrices if there is an offset, but the 3D matrix should give you the localized indices.
[r,c,s] = ind2sub(size(locationsmatrix),find(locationsmatrix == 1));
scatter3(r,c,s);
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!