Ploting from cell arrays to matching values and assigning labels
3 views (last 30 days)
The question heading might be confusing. sorry!
I'm using (2014b). I'm trying to figure out what I'm doing wrong here. probably everything :)
I have three cell arrays;
- c1 - Nx1 cell array
- c2 - Nx33 cell array
- c3 - Nx33 cell array
- c1 is the "time". It corresponds to all the columns of c2 and c3 in a given row (e.g., c1(1,1) indicates the time for c2(1,:) and c3(1,:)).
- c2 bears the labels for c3 values (c2 values and c3 values are just random numbers).
- I want to plot c1 against c3 and label each matching point with c2.
- So to do this I tried struct / container.Map and normal "for" loop but all failed.
- structure method;
Field1 = 'time';
Field2 = 'num';
Field3 = 'val';
value1 = c1(1:end,:);
value2 = c2(1:end,:);
value3 = c3(1:end,:);
S = struct(Field1,value1,Field2,value2,Field3,value3);
Error I'm getting : Error using struct Array dimensions of input '4' must match those of input '2', or be scalar.
Then I try;
S = struct(Field2,value2,Field3,value3);
Error I'm getting : Error using plot Invalid first data argument
structure is just fine; if I type in S.val it will list me all the values in there and same for other two fields.
- "for" loop
n = MaxCol;
for row = 1:numel(c3)
num = c2(row);
val = c3(row);
for col = 1:n
newrow = [c1 num(col) val(col)];
Error : Error using horzcat Dimensions of matrices being concatenated are not consistent.
- just normal plot function
plot(c1(:,1),c3(:,5)); % at this point I'm not worried about labelling, just trying to see if it works at all.
Error: Error using plot Not enough input arguments.
Error: *Error using plot Size mismatch in Param Cell / Value Cell pair *
What is missing here in trying to plot c1 against c3 and label each matching point with c2?