Scatter plot with two data sets of uneven values

20 views (last 30 days)
Vince Clementi
Vince Clementi on 10 Jan 2020
Commented: Adam Danz on 10 Jan 2020
Hi All,
Is it possible to create a scatter plot using two datasets of uneven values. For example, D1 and D1 both have x values that span 0 120 and y values of different parameters (D1 = oxygen, D2 = chlorine). However, D1 consists of 80 data points, and D2 consists of ~20. Moreover, the x values for D1 and D2 do not overlap.
If not, is there a recommended solution to make this easier? The only thing I can think of is to resample the data to a common axis, but that introduces data that are not real.
Adam Danz
Adam Danz on 10 Jan 2020
"Option 2 sounds reasonable"
It sounds like this decision hasn't been though out. The results will not be meaningful unless the pairing is meaningful. There are lots of ways to pair the two datasets and each of them will produce a very different result with a different interpretation.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 10 Jan 2020
Edited: Adam Danz on 10 Jan 2020
Here's a demo you can follow.
It produces 2 datasets per your description; then it pairs the y values from dataset1 to dataset 2 according to proximity of the x values.
Then in plots the results. The data are random so don't expect linearity.
% Produce 2 datasets, one longer than the other; x values range from 0:110
dataset1 = [rand(100,1)*110, rand(100,1)];
dataset2 = [rand(50,1)*110, rand(50,1)*10];
% Find the rows of dataset1 that is closest to the
% x values in dataset 2
D = pdist2(dataset1,dataset2); % distance between each (x,y)
% D = pdist2(dataset1(:,1),dataset2(:,1)); % distance between each (x)
[~, minRow] = min(D);
% Plot results
plot(dataset1(minRow,2), dataset2(:,2),'o')

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by