我是Matlab的新手,非常感谢您的帮助。
我的问题很简单。
我首先绘制一些对角线,然后通过" contourf"绘制数据集。命令在这些行之上。 该数据集矩阵具有一些定义为NaN的元素,这些元素不由contourf绘制。 因此,该图的这一部分是纯背景,然后可以看到部分线条。
%绘制对角线 X = linspace(4,6,3); Y = linspace(4,6,3);
图([X(1)0],[0 Y(1)],'颜色'' r','线宽',1.5) ; 坚持,稍等 对于i = 2:长度(X)
情节([X(i)0],[0 Y(i)],'颜色'' r','线宽',1.5) ;
端
%通过contourf绘制具有一些NaN值的数据集 A = repmat(0.25 *(1:49)-5.25,49,1); B = repmat(0.25 *(1:49)-5.25,49,1)&#39 ;;
C = A. * B;
C(A> 3)= NaN; 坚持,稍等 contourf(A,B,C); 色彩表 彩条轴([ - 5 6 -5 7])
打印(' Test_plot'' -dpng'' -r800&#39);
正如您在示例中所见,属于C(A> 1)= NaN条件的区域完全是白色(即背景),而有色区域是#34;绘制在对角线的顶部。
将图像保存为png时,显示的图片正是我想要的图片。 问题在于,当我保存它时,由于某些原因我忽略了,对角线出现在contourf图的顶部。 我试图通过使用其他格式(例如tiff)保存图形,通过使用alpha通道,通过使用" uistack"将线条移动到背景来解决问题,但没有任何改变。
任何帮助?
提前谢谢。
答案 0 :(得分:0)
虽然这不是我想要的解决方案,但解决问题的方法是将数字保存为“eps”格式,然后将此类文件转换为其他文件。
但是,我希望有一种方法可以通过添加一些命令行将其正确保存为png。
再一次,非常感谢任何帮助!