どのようにMATLABで同じカラースケールと異なる面を描くのですか?
質問
私はスケールが少し異なります*そのため、いくつかの表面プロットを表現しようとしています。各表面プロットは、個別サブプロットおよび/または図に描かれている。
私の表面の最大は関係なく、大きさの(「ジェット」カラーモードで)常に赤である。すなわち、今、私は、自動的に私の図のようにカラーマップの全範囲をスケーリングし、デフォルトのカラーマッピングを、使用していますこの最大のます。
私は、カラーマップは、個々のグラフの最小値と最大値の間の数値の代わりに広がりとの間一貫してたいです。こうすることで、読者はただカラーマップを見て、表面のスケールの違いを認めることができました。
これを行う方法上の任意のアイデア?
<時間>**実際に、それは違いを作る場合には、私は次のようにplotコマンドを使用して、表面フィッティング操作の結果をプロットしています:*
[myfit, gof] = fit( ... );
plot(fit)
解決
あなたは caxis
の機能を使用する必要があります。例えば、1つの表面は0から5までの高さを有し、他は0から10までの高さを有し、両方のプロットのために次の操作を行った場合:
caxis([0 10]);
は、より広い範囲をカバーするプロットとして同じカラースケールを使用するためにそれらの両方を強制します。あなたはまた、最初の引数として扱う軸にcaxis
呼び出すことができます:
caxis(hAxes, [0 10]); % Sets the color scaling for hAxes
を指定しない場合は、caxis
が最新のものである軸の色のスケーリングを調整します。
他のヒント
私は最近、私のブログにビデオ形式でこの質問に答えます:
http://blogs.mathworks.com/videos/2009/03/27/setting-the-colormap-to-be-consistent-across-axes/する
所属していません StackOverflow