How to store multiple y-data of arbitrary length for a given x and plot?

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Raj
Raj am 4 Dez. 2019
Bearbeitet: Raj am 4 Dez. 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
  7 Kommentare
Raj
Raj am 4 Dez. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by