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

6 次查看(过去 30 天)
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 个评论
dpb
dpb 2013-11-16
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 2013-11-16
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.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by