1

簡単な質問。とにかく、Matlab関数 "contourf"に、(データセットの値ではなく)指定された値で色をスケーリングするように指示することはできますか?簡単に関数を呼び出すことができることを私は知っています

contourf(x,y,Data, v) 

vベクトルの範囲を設定しますが、私の問題は、Matlabがvベクトルで指定された値が実際にデータに存在するかどうかを自動的にチェックすることです。それらが存在しない場合は、データセットで使用可能な最大値と最小値に色範囲を自動的に再スケーリングします。

たとえば、

Data =[0 1 2; 3 4 5; 6 7 8]; 
v=-10:1:10;

それから私が電話するとき

contourf(x,y,Data,v) 

表示されているカラーマップは、

v=[0:8];

これを求めている理由は、さまざまなデータセットに対していくつかの等高線図を作成したいのですが、contourf関数に渡される現在のデータ配列に必ずしも含まれていない可能性がある最大/最小値に関連付けられた同じカラーコードを常に持つ必要があるためです。

私は十分に明確だったと思います。

4

1 に答える 1

2

コマンドを見てくださいcaxis。でテストしていませんがcontourf、これがあなたの求めているものだと思います。

次のように使用します。

caxis([ cmin cmax ])

ここでcmin、 とcmaxは、現在のカラー マップへのインデックスとして指定された最小色と最大色です。からhelp caxis:

CAXIS は、座標軸のプロパティ CLim および CLimMode を設定する関数です。

つまり、これらの軸設定を手動で調整することもできます (つまり、set(gca, 'clim', [...]))

于 2012-09-18T04:31:50.623 に答える