0

MATLAB で Figure を印刷すると、次のように、プロットの背景が白ではなく黒でレンダリングされます。

背景が間違っている画像

(しかし、MATLAB の Figure ウィンドウでは、想定どおりに白です)
これは、Figure を印刷するために使用されるものと同様のコードです (ただし、コピーと貼り付けが実行されます)。

figure;
set(0,'DefaultAxesFontSize',13)
set(0,'DefaultTextFontSize',13)
set(gcf, 'Renderer', 'painters');
y = 1:100;
plot(y)
xlabel('Some X', 'FontSize', 14)
ylabel('Some Y', 'FontSize', 14)
title('Example', 'FontSize', 15)
legend('some function')
print(gcf,'test1.pdf','-dpdf')

ただし、次の行を追加すると機能します(ただし、もちろん、プロットの周囲の領域にわずかに灰色の背景があります)

set(gcf, 'color', [0.99 0.99 0.99])

MATLAB のバージョンは R2013a (8.1.0.604) です。

編集:
set(gcf, 'InvertHardCopy', 'off');問題を解決しません。

edit2:
HG2-Update が原因であると思われる問題の継ぎ目。

4

2 に答える 2

1

美しさのためにHG2-Updateハックも使用しています。HG1に戻ることは私にとって選択肢ではありません。まあ、1つを除いて、問題はありません.pdfに直接印刷します。それはあなたがやろうとしていることでもあります。この機能はまだ完全に台無しです。

解決策: プロットを-dsvgベクトル グラフィックとして保存し、ファイルをInkscapeで開き、[エクスポート領域は描画中]チェックマークを設定して、pdf として再度保存します。

実際、この手順をスクリプト化する方法を見つけたいと思っていましたが、成功しませんでした。そのため、手動で行うか、HG2 の最終リリースを待つ必要があります。

于 2014-08-08T11:02:17.037 に答える