Effacer les filtres
Effacer les filtres

Downsizing a Data Set for Plots

8 vues (au cours des 30 derniers jours)
Articat
Articat le 31 Oct 2019
Commenté : Articat le 5 Nov 2019
Image 1) I have one image in which the x-axes goes from -10 to 37 and y-axes: 6 to 56. I used a grid to shrink the image down to appropraite coords.
Plot 2) I have another plot in which the x-axes goes form 300 to 900 and y-axes: 100 to 800. This is a scatter plot of traced objects in 1 before the shrink.
Is there a way in which I can take plot 2 and convert the coordinates so it matches the coordinates of image 1?
For example in imagesc() you can call an xGrid, yGrid and then plot what you want on top of that like so: imagesc(xVecPLIF,yVecPLIF,Image). That is what I did for image 1.
Can I do somethig similar with just regular plots()?
Thanks for your help.
  1 commentaire
Articat
Articat le 31 Oct 2019
It would basically involve downsizing the matrix grid

Connectez-vous pour commenter.

Réponse acceptée

Subhadeep Koley
Subhadeep Koley le 4 Nov 2019
Hi, You can use rescale() function to scale down / up your data to any given range. Refer to the code below. It scales a demo data between a given upper and lower range.
% Demo data for imagesc plot
imageData = magic(100);
% Plot your image data
imagesc(imageData);
% Set your preferred axis
axis([-10 37 6 56]);
hold all;
% Demo data for scatter plot
x1 = rand(1,500); y1 = rand(1,500);
% Rescale scatter plot data to your preferred range
x1_re = rescale(x1, -10, 37);
y1_re = rescale(y1, 6, 56);
% Scatter plot your rescaled data
scatter(x1_re,y1_re,'magenta','filled');
scaleScatter.png
Hope this helps!
  1 commentaire
Articat
Articat le 5 Nov 2019
Works great thanks!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by