Alternative to contour plot: pixel plot?

30 views (last 30 days)
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?

Accepted Answer

Doug Hull
Doug Hull on 5 Jan 2015
This looks like it can be done with the command "Image"
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).


Find more on Contour Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by