MATLAB Answers

0

Alternative to contour plot: pixel plot?

Asked by Jonathan on 5 Jan 2015
Latest activity Edited by Jiri Mateju on 19 Jul 2015
Hi There,
I'm plotting out some latitude vs. (pressure) altitude data with a gridded resolution of .25 deg latitude by 20 millibar of (pressure) altitude, and with a scalar value that is represented as color. Until now, I've been using contourf to do this, and it works reasonably well. However, for publication purposes, I'd really prefer to plot each grid point as a "pixel" to clean the figure up a bit. This should be reasonably simple, since it's basically just using "plot" with a color axis, but that requires getting the pixel size juuuust right so that each pixel doesn't overlap the next, and problematically each pixel is not perfectly square. Is there a plot function that automates this so that the size of the rectangular pixel is a function of the distance to the next point (in both x and y), so that it looks clean without overlapping?
I'm attaching an figure from a colleague's R script that does this reasonably well to give you a sense for what I'm trying to achieve. Please ignore the gray lines in the plot--they represent something unrelated to this problem.
If such a function doesn't exist, any other suggestions on how to make this work using a basic function like plot?
Thanks!

  0 Comments

Sign in to comment.

2 Answers

Answer by Doug Hull on 5 Jan 2015
 Accepted Answer

This looks like it can be done with the command "Image"

  2 Comments

Thanks, Doug! This was a good call. I should mention, in case anyone else has a similar question, and comes across this post, that "imagesc" is equally or more helpful because it scales the color axis to the values you define (at least that's my understanding). I do have a problem with both image and imagesc that I'll post in another thread since this response answered the original question. Thanks.
You can also use imshow() - it's now available in base MATLAB. Don't use pcolor() though.

Sign in to comment.


Answer by Jiri Mateju on 19 Jul 2015
Edited by Jiri Mateju on 19 Jul 2015

I had a similar problem and solved it with patch (attached).

  0 Comments

Sign in to comment.