Why imagesc always interpolates the data?

I have a 3D data
x = [-7.500000000000000,-5.625000000000000,-3.750000000000000,-1.875000000000000,0,1.875000000000000,3.750000000000000,5.625000000000000];
y = linspace(0, 359, 360);
z = ones(360, 8);
figure; imagesc(x, y, z); shading interp; colorbar; colormap('jet');
However, in the plot (screenshot attached), the x axis starts before -8 which is undesrible. Why doesn't it stick to the limits given in the array instead? Does it do interpolation? How can I avoid it?

1 commentaire

Jonas
Jonas le 1 Mai 2021
i think your actual problem is that the pixels are centered around the positions you specify. if you want to have n columns exactly between a and b, then the width of each column is width=(b-a)/n and your x positions should be (a+width/2):width:(b-width/2)

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Version

R2020b

Commenté :

le 1 Mai 2021

Community Treasure Hunt

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

Start Hunting!

Translated by