plotting in 2d with imagesc

Hi : I have a question about the plot command (imagesc). I am overlapping two fields together and when plotted both of them using (imagesc), I noted that they are flipped vertically. This caused me to have doubt about if the result of the overlap, which I also plotted using (imagesc), is also flipped or not. Please, help me with useful information. thanks

 Accepted Answer

You can specify the x and y coordinates of each pixel with imagesc, and use axis xy to ensure the y direction is positive up:
% some fake data
x = (100:200)';
y = (0:.1:20)+ 30;
z = sind(x*y)+x*y/1000;
% plot:
pcolor(z)
figure
imagesc(x,y,z)
axis xy

3 Comments

@Chad Greene, why are my colors and color scale (below) different from your picture above?
% some fake data
x = (100:200)';
y = (0:.1:20)+ 30;
z = sind(x*y)+x*y/1000;
% plot:
pcolor(z)
figure
imagesc(x,y,z)
axis xy
colorbar
The default colormap changed from jet() to parula shortly before this answer was written. It's possible that it simply reflects the default behavior of the software he had installed. It could also have simply been a stale figure property from some prior code. Either way, the colormap in use is not parula(), but jet().
The difference with pcolor() is simply that the edge lines are black, and there are lots of them. You can hide them simply.
% some fake data
x = (100:200)';
y = (0:.1:20)+ 30;
z = sind(x*y)+x*y/1000;
% plot:
pcolor(z)
shading flat
colorbar
colormap(jet(256))
figure
imagesc(x,y,z)
axis xy
colorbar
colormap(jet(256))
Cool, thanks!

Sign in to comment.

More Answers (1)

You can specify whether the lower values of Y are at the top, like for images and matrices, or at the bottom, like for traditional x,y plots:
set(gca, 'YDir', 'reverse'); % or 'normal'

Categories

Tags

Asked:

on 7 Apr 2015

Commented:

Ar
on 29 Mar 2023

Community Treasure Hunt

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

Start Hunting!