scatter3 makes a 2D plot

37 views (last 30 days)
Cynthia Dickerson
Cynthia Dickerson on 19 Aug 2016
Commented: KenoKanawa on 13 Sep 2019
I'm trying to plot the contents of a cell array (RSD_c{v}) composed of 5 32x3 double matrices. I used the following code:
figure;hold on;
cellfun( @(x) scatter3( x(:,3), x(:,4), x(:,5) ), RSD_c );
title('Relationship Between Relative Standard Deviation, Bootstrap Replicates, and Dimension')
xlabel('Bootstrap Replicates') % x-axis label
ylabel('Relative Standard Deviation') % y-axis label
zlabel('Dimensions') % z-axis label
When the graph is plotted, it makes a 2D chart. Tracing the points shows that they have x, y, and z coordinates. However, the graph is 2-dimensional, with the points color-coded by z-coordinate.
Does anybody know how to fix this?

Accepted Answer

Steven Lord
Steven Lord on 20 Aug 2016
You used hold before calling scatter3. When you turn hold on, it basically "freezes" the properties of the axes from being automatically modified (by functions like scatter3, for example.) If no axes exists when you call hold, it creates one in the default 2-D view.
You can create an axes with a 3-D view using the view command then hold it (or vice versa; hold prevents the properties from being automatically modified, but you can explicitly modify them.)
  2 Comments
Cynthia Dickerson
Cynthia Dickerson on 21 Aug 2016
That fixes it. Thanks!
KenoKanawa
KenoKanawa on 13 Sep 2019
Thank you

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!