5

imagesc (Matlab R2012a) で作成された画像に透明度 < 1 のパッチをプロットすると、多くの「目盛りラベル」、または軸に沿った画像上の数字のように見えます。次のコードは問題を再現します。

imagesc(rand(10,20))
hold on
patch([5 5 15 15],[3 7 7 3],'r','facealpha',.5)

これはバグですか、それとも適切に行う方法はありますか?

編集 を設定すると数字が消えるset(gca,'xtick',[],'ytick',[])ので、実際にティック関連です。もちろん、私は自分の姿に目盛りを付けたいと思っています。

数字付きのimagesc

4

1 に答える 1

2

この種のグラフィック アーティファクトは通常、レンダラーに関連しています。特に、OpenGL レンダラーは、Matlab リリース、グラフィック カード、およびオペレーティング システムの特定の組み合わせで混乱するようです。

標準的な回避策は、図のプロパティでレンダラーを OpenGL から zBuffer に変更することです。これは、コマンドを介して実現されます。

set(gcf,'renderer','zbuffer')

残念ながら、OpenGL は透明度をサポートする唯一のレンダラーであるため、このソリューションは機能しません。

別の回避策として、次のコマンドを使用して、ハードウェアからソフトウェアの OpenGL レンダラーに切り替えることができます。

opengl software

*nix 環境にいる場合のセットアップ方法については、openglのヘルプを参照してください。

于 2013-01-07T21:42:29.223 に答える