我是 Matlab 的新手,非常感谢您的帮助。
我的问题很简单。
我首先绘制了一些对角线,然后我通过“contourf”命令在这些线上绘制了一个数据集。这个数据集矩阵有一些定义为 NaN 的元素,这些元素不是由 contourf 绘制的。结果,这部分图形是纯背景,然后可以看到部分线条。
就像是:
% 画对角线 X= linspace(4,6,3); Y= 线性空间(4,6,3);
plot([X(1) 0],[0 Y(1)], '颜色','r', '线宽', 1.5); 坚持 i=2:length(X)
绘图([X(i)0],[0 Y(i)],'颜色','r','线宽',1.5);
结尾
% 通过 contourf A = repmat(0.25*(1:49)-5.25,49,1) 绘制具有一些 NaN 值的数据集;B = repmat(0.25*(1:49)-5.25,49,1)';
C = A.*B;
C(A>3)=NaN;坚持轮廓f(A,B,C);颜色图颜色条
轴([-5 6 -5 7])
print('Test_plot','-dpng','-r800');
正如您在示例中看到的,属于 C(A>1)=NaN 条件的区域完全是白色(即背景),而“彩色区域”绘制在对角线的顶部。
显示的图片正是我将图像保存为 png 时想要的。问题是当我保存它时,由于某些原因我忽略了,对角线出现在轮廓图的顶部。我试图通过将图形保存为其他格式(例如 tiff)、使用 alpha 通道、使用“uistack”将线条移动到背景来解决问题,但没有任何改变。
有什么帮助吗?
先感谢您。