Best plot for representing matrix data

2 views (last 30 days)
Jon
Jon on 29 Sep 2014
Commented: Jon on 29 Sep 2014
Hi there,
I'm trying to create a plot using a matrix of soil particle size data, and am having trouble choosing the best method. My matrix has rows representing the location of the samples in a riverbed, columns representing the depth of the samples, and data values representing the samples' average particle size. Ideally, I'd like the plot to feature the location on the x-axis, the depth on the y-axis, and the particle size represented by a color gradient, enabling viewers to easily observe trends as a function of both location and depth.
I originally tried using the surf() function - I clicked on the Rotate 3D button, right-clicked, and selected the "Go to X-Y View" option. That produced a nice plot, but when I tried to add a colorbar, the screen exploded with numbers and labels covering the plot area. I'm not sure if I need to configure the colorbar to avoid this issue, or use a different type of plot entirely. I'm quite new to MatLAB, so any suggestions would be very welcome.
I'll attach images of the plot with and without the colorbar; to clarify, the dark blue represents places without data - I used 0 values as placeholders (surf didn't like so many NaN values next to each other). Thanks so much for any help!

Accepted Answer

Chad Greene
Chad Greene on 29 Sep 2014
I'd recommend imagesc. Or, pcolor deals with NaNs nicely, but pcolor and surf both delete a row and a column. Some entries in File Exchange fix that problem with pcolor.
Another option is to forget gridded plotting and simply use scatter.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!