Azzera filtri
Azzera filtri

How to plot cell array data?

1 visualizzazione (ultimi 30 giorni)
Cynthia Dickerson
Cynthia Dickerson il 11 Ago 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?

Risposte (1)

Adam
Adam il 11 Ago 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 Commento
Cynthia Dickerson
Cynthia Dickerson il 19 Ago 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?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by