我一直试图弄清楚如何从Matlab中的3d图中“隐藏”三角矩阵的无用部分。
我尝试使用
在图形的上方绘制一个网格'EdgeAlpha', 1, 'FaceAlpha', 1,'FaceColor','w','EdgeColor','none'
但它没有帮助。我应该怎么做呢?
半工作的唯一方法是使用色标,但它不能一直工作,而且我需要黑色和白色的eps,即使它看起来是白色的,它也会显示颜色为黑色......
这是我最后的希望;) 巴巴拉
答案 0 :(得分:1)
简短回答:用值nan替换“无用”数据,因为MATLAB不绘制数据值为nan。
将纳米值插入矩阵的另一半应该可以解决问题。看下面的例子 - 它很笨重,但应该提出想法。我选择乘以nan,这是我所显示的,但是还有六种其他的东西浮现在脑海中。
% Create random data for illustration data = tril(rand(50)); % I chose to divide by a lower triangular ones matrix (zeros above the % diagonal) to get nan above the diagonal and ones below nan_above_diag_ones_below = 1./tril(ones(50,50)); % Plot data with and without hiding the "useless part" figure, subplot(1,2,1), mesh(data), title('"useless" part shown') subplot(1,2,2), mesh(data.*nan_above_diag_ones_below), title('"useless" part hidden')