0

我是 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”将线条移动到背景来解决问题,但没有任何改变。

有什么帮助吗?

先感谢您。

4

1 回答 1

0

虽然这不是我正在寻找的解决方案,但“解决”问题的一种方法是将图形保存为“eps”格式,然后将此类文件转换为其他文件。

但是,我希望有一种方法可以通过添加一些命令行将其正确保存为 png。

再次,非常感谢任何帮助!

于 2014-09-25T16:42:03.720 回答