Scatter plot with two data sets of uneven values
7 views (last 30 days)
Show older comments
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.
Thanks!
9 Comments
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.
Accepted Answer
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')
4 Comments
More Answers (0)
See Also
Categories
Find more on Data Preprocessing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!