パッチの色を手動で設定した後、ベクトル PDF プロットを作成しようとすると問題が発生します。
set(...) の呼び出しを使用してパッチの面と頂点の色を設定し、パッチの ' FaceVertexCData ' プロパティを設定した後、'savefig' と 'saveas' の両方によって生成された PDF 出力はラスタライズされ、ベクターではなくなります。フォーマット。これは、「FaceVertexCData」が変更されていない場合には発生しません。
例えば、
clear all; close all;
h = bar([1 2 3 ; 3 2 1 ; 3 4 4]);
saveas(gcf, 'barplot.pdf', 'pdf');
savefig('barplot.pdf', 'pdf');
プロットの完全に細かいベクトル化された PDF を生成します。
一方、次のコードは見苦しいベクトル化された PDF プロットを生成します。
clear all; close all;
h = bar([1 2 3 ; 3 2 1 ; 3 4 4]);
ch = get(h,'children');
set(ch{1},'FaceVertexCData',[1 0 0 ; 0 1 0; 0 0 1]);
set(ch{2},'FaceVertexCData',[1 0 0 ; 0 1 0; 0 0 1]);
set(ch{3},'FaceVertexCData',[1 0 0 ; 0 1 0; 0 0 1]);
saveas(gcf, 'barplot_savefig_FaceVertexCData.pdf', 'pdf');
savefig('barplot_saveas_FaceVertexCData.pdf', 'pdf');
問題の原因は何ですか? これはどのように解決できますか?どんなヒントでも大歓迎です。
どうもありがとう。
編集:MATLABバージョン:OS X上の8.0.0.783(R2012b)