1 view (last 30 days)

I have a two column data where the each element of the second column have arbitrary length. e.g.

X=[1 2 3 4 5]'

Y= [[1 2 3] [1] [] [1 2 10 4] [1 5 2 0 3]]'

How to store this type of y-data in matlab and plot both X vs Y and Y vs X in a scatter plot? i.e. there should be three points on the graph for X=1, no point for X=0 and so on. Note: There can be no elements in some of the arrays of y.

Thanks

Raj
on 4 Dec 2019

Edited: Raj
on 4 Dec 2019

X=[1 2 3 4 5]';

Y= {[1 2 3] [1] [] [1 2 10 4] [1 5 2 0 3]}';

for ii=1:numel(X)

scatter((repelem(X(ii),numel(cell2mat(Y(ii))))),cell2mat(Y(ii)))

hold on

end

Raj
on 4 Dec 2019

Something like this:

Y=[1 2 3 4 5]';

X= {[1 2 3] [1] [] [1 2 10 4] [1 5 2 0 3]}';

for ii=1:numel(X)

scatter(cell2mat(X(ii)),repelem(Y(ii),numel(cell2mat(X(ii)))))

hold on

end

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

Start Hunting!
## 0 Comments

Sign in to comment.