How to plot only non-zero positive values in a bar3 graph?

7 views (last 30 days)
This should be trivial but I can't figure it out. I have an NxM matrix, which I am plotting as a bar3 graph. All of them have the same colour (blue), and when a value in the matrix is zero, there is a blue square at the z=0 value, with black edges.
I would like to plot it in a way that the zero values are not plotted. Actually, it would be even better if the black edges of the square (the frame) would be plotted but the inside would be white (i.e. the square would not be filled with blue).
Is there any way to do this?
I attached a picture of how it looks now.
  6 Comments
dpb
dpb on 16 Nov 2013
Well, it was a thought that bar might ignore NaNs as does plot...
Too bad. No further ideas other than figuring out how to set the patch values vs the level. My use has been minimal and what attempts have made previously were mostly unsuccessful--I don't fully understand how the patch color map assignment thingie works...
László Arany
László Arany on 16 Nov 2013
I opened the bar3.m which calls the makebars.m function and in that one I found the part that replaces all NaN values with zeros.
k = find(isnan(y));
if ~isempty(k), y(k) = 0; end
I also tried to simply remove this part but didn't do the trick. I don't understand how exactly these functions work, I just hope there is a simpler way to do this.

Sign in to comment.

Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!