Matlab绘图技巧-NAN元素绘图出现锯齿状解决办法
想必有很多同学遇到绘制3维曲面热力图,有一些数据是nan,绘制出来的图会出现锯齿状:如下图:
如果用matlab直接绘制带nan的矩阵的话,则会像上图一样,当然,可以用fill3函数去一块块填补起来,但是填补的颜色很难确定,这里给出一个简单的解决办法:将矩阵对称补全,绘制,然后只展示半个曲面:
clc;clear all;close all
len = 30;
DataHalf = nan*ones(len);
for i = 1:len
for j = 1:i
DataHalf(i,j) = i-j;
end
end
figure(1)
surf(DataHalf)
view([17.339673913043473,50.399999999999999])
DataHalf_full = DataHalf;
for i = 1:len
for j = i+1:len
DataHalf_full(i,j) = -DataHalf(j,i);
end
end
figure(2)
surf(DataHalf_full)
view([17.339673913043473,50.399999999999999])
zlim([0 max(max(DataHalf_full))])