私は Matlab を初めて使用します。ご協力をお願いします。
私の問題は単純です。
最初にいくつかの対角線をプロットし、次にそのような線の上に「contourf」コマンドを使用してデータ セットをプロットします。このデータ セット マトリックスには、contourf によってプロットされない NaN として定義された要素がいくつかあります。その結果、図のこの部分は純粋な背景であり、線の一部が表示されます。
何かのようなもの:
% 対角線を引く X= linspace(4,6,3); Y=リンスペース(4,6,3);
plot([X(1) 0],[0 Y(1)], 'Color','r', 'linewidth', 1.5); i=2:length(X) の間ホールド
plot([X(i) 0],[0 Y(i)], 'Color','r', 'linewidth', 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 など) で保存したり、アルファ チャネルを操作したり、「uistack」を使用して線を背景に移動したりして問題を解決しようとしましたが、何も変わりませんでした。
何か助けはありますか?
前もって感謝します。