web-dev-qa-db-ja.com

MATLABで黒いエッジなしで表面プロットを描く方法は?

黒い線はひどいですが、どうすれば取り除くことができますか?色付きの表面のみが必要です。

40
Jader Dias

別の選択肢は、サーフェスハンドルオブジェクトのedgeColorおよび/またはlineStyleプロパティをnoneに設定することです。

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');
48
Azim

これはより一般的なソリューションです。サーフェスも作成された後にedgeColorを変更できます。 LineStyleとFaceLightingに依存しません。

a= peaks(1000);
h = surf(a)
set(h, ‘edgecolor’,'none’)

これが発生していることとその修正方法を示す45秒のビデオを作成しました。

http://blogs.mathworks.com/videos/2008/08/13/matlab-basics-setting-Edge-color-for-large-surface-plots/

16
MatlabDoug

シェーディングコマンドはあなたの友達です:

シェーディングフラット-メッシュラインのない表面を提供します

shading interp-パッチ間で色を補間して滑らかな仕上げにします

シェーディングファセット-表面に黒いメッシュラインがあります(フラットに似ています)

11
Ian Hopkinson

私は信じている shading interpはあなたが探しているものです。

3
kevin