connecting lines between adjacent scatter plots

I have four columns of data (X1, X2, Y1, Y2) each with the same number of rows (30). I want to create two scatter plots on the same graph (X1 vs Y1, blue) and (X2 vs Y2, red). Then I want a line that connects connects each blue data point to the red data point that shares the same row... so 30 lines total, each connecting 2 datapoints. How to do this? Does it require a loop?

 採用された回答

Voss
Voss 2022 年 5 月 27 日

1 投票

"Does it require a loop?"
No.
"How to do this?"
% Your data
X1 = rand(30,1);
X2 = rand(30,1);
Y1 = rand(30,1);
Y2 = rand(30,1);
% Your existing scatter plots
scatter(X1,Y1,'b')
hold on
scatter(X2,Y2,'r')
% plotting new lines. NaNs break up the segments
N = numel(X1);
xdata = [X1 X2 NaN(N,1)].';
ydata = [Y1 Y2 NaN(N,1)].';
plot(xdata(:),ydata(:),'g')

1 件のコメント

Steve
Steve 2022 年 5 月 28 日
Thank you. Fantastic. This is exactly what I was asking for.
Does this method work for adding n scatters? Say for X3 vs Y3 etc. I have ten XY sets that I've collected on different days and I want to connect them in a similar fassion. Perhaps I'll need each connecting line to have a different color and remove the markers for the points and connect them with arrows to show the transition through time.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2022a

質問済み:

2022 年 5 月 27 日

コメント済み:

2022 年 5 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by