2013-01-07 4 views
5

imagesc(Matlab R2012a)で作成した画像の上に透明度< 1のパッチをプロットすると、軸に沿って画像上にたくさんの "ティックライブル"のようなものが表示されます。次のコードは、問題を再現します。imagescより透明度の値を使用

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

これはバグですか、それとも正しく行う方法はありますか?私はset(gca,'xtick',[],'ytick',[])を設定した場合

EDIT 数字が消え、それは確かにダニに関連しています。私はもちろん私の姿にチックを持つことを好むだろう。

imagesc with numbers on it

+1

私は2012bを試しましたが、それは起こりません。これはあなたがmatlabの新鮮な開始をした後にも起こりますか?私はあなたが問題を引き起こす古い軸を持っていると思います。 –

+0

これは、再起動後も新しい図形のために起こります。 –

+0

レンダラを 'zbuffer'に変更しても、それでも問題は発生しますか? 'set(gcf、' renderer '、' zbuffer ')' – Jonas

答えて

2

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

標準問題を回避するには、

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

コマンドを介して達成されるchange the renderer from OpenGL to zBuffer in the figure propertiesに残念ながら、OpenGLは透明度をサポートする唯一のレンダラですので、このソリューションはあなたのために動作しません。可能な代替回避策として

、あなたは

opengl software 

コマンドを使用して、ソフトウェアのOpenGLレンダラにハードウェアから切り替えることができますが、* nixの環境にいる場合には、これを設定する方法を見つけるためにhelp on openglをチェック。