MATLAB Answers

Alternative to contour plot: pixel plot?

58 views (last 30 days)
Jonathan
Jonathan on 5 Jan 2015
Edited: 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.

Accepted Answer

Doug Hull
Doug Hull on 5 Jan 2015
This looks like it can be done with the command "Image"

  2 Comments

Jonathan
Jonathan on 5 Jan 2015
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.
Image Analyst
Image Analyst on 5 Jan 2015
You can also use imshow() - it's now available in base MATLAB. Don't use pcolor() though.

Sign in to comment.

More Answers (1)

Jiri Mateju
Jiri Mateju on 19 Jul 2015
Edited: Jiri Mateju on 19 Jul 2015
I had a similar problem and solved it with patch (attached).

  0 Comments

Sign in to comment.

Sign in to answer this question.


Translated by