Filter löschen
Filter löschen

How to plot cell array data?

1 Ansicht (letzte 30 Tage)
Cynthia Dickerson
Cynthia Dickerson am 11 Aug. 2016
I'm trying to plot the contents of a cell array (RSD_c{v}) composed of 5 32x3 double matrices. I want each column to be the X,Y,and Z variable, respectively.
if true
%Plot bias vs. B vs. v
%bias, B, and v contained in RSD_c(:,1), RSD_c(:,2), and RSD_c(:,5), respectively
figure;hold on;
cellfun(@scatter3,RSD_c(:,1),RSD_c(:,2),RSD_c(:,3));
end
When I run the above code,I get the error, "??? Error using ==> scatter3 at 63 X, Y and Z must be vectors of the same length."
What am I doing wrong? How do I fix this?

Antworten (1)

Adam
Adam am 11 Aug. 2016
cellfun( @(x) scatter3( x(:,1), x(:,2), x(:,3) ), RSD_c )
should work, though I haven't double-checked the syntax in Matlab itself.
doc cellfun
should give examples of this syntax for calling.
  1 Kommentar
Cynthia Dickerson
Cynthia Dickerson am 19 Aug. 2016
Thanks. I used the following code:
if true
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
end
It does create a plot, and 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?

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by