プロットを作成しようとしていcontourf
ますが、データ配列の特定の領域に NaN があります (データ マトリックスのみ、x および y メッシュグリッド マトリックスがいっぱいです)。これらの NaN を透明にしたいのですが、長方形の境界にある NaN 用です。ただし、データ マトリックス内の連続する NaN 領域は透明ではなく白です。以下に例を示します。
コード:
[X Y] = meshgrid(10:50);
Z = X.*Y;
Z(10:30,10:30) = NaN;
figure
imshow(uint8(repmat(1:4:240,[60,1,3])));
hold on;
contourf(X,Y,Z);
colormap jet;
出力:
ヒント:
上記のコードに次を追加します。
% Find Face
set(findobj(h,'FaceColor',[1 1 1]),'FaceAlpha',0))
白いパッチ オブジェクトを見つけて透明に設定します。残念ながら、下のパッチはいっぱいです:
更新:NaN
領域を取得して背景画像を重ね合わせると、次のようになります。
ご覧のとおり、画像全体をカバーしていません。私が使用imdilate
すると、白い領域が取り除かれますが、同時に黒い境界線と少しのデータも破壊されます。