0

Matlab で生成したヒートマップのコピーを以下に示します。解決したい問題が 2 つあります。

1) ご覧のとおり、HeatMap に表示される値は 3 つだけです。

Red   = 500
Green = 0
Black = 250

残念ながら、ヒートマップで使用されていない色であっても、カラーバーには約 10 の異なる値が表示されます。どうすればそれを変更できるかという選択肢はありません。実際に使用される3つの値だけをカバーするように、このカラーバー/ラベルをカスタマイズする方法を知っている人はいますか?

2) このヒートマップをプロットしようとすると、次のエラー メッセージが表示されます。

hmo = HeatMap(data)
HeatMap object with 20 rows and 20 columns.
plot(hmo);
Error using ==> figure
Invalid property found.
Object Name :  figure
Property Name :  'PagePosition'.
Error in ==> HeatMap.plot at 42
hFig = figure('Renderer',     'ZBuffer',...

助けてくれて本当にありがとうございます!パトリック

Matlab ヒートマップ

4

2 に答える 2

1

ドキュメントからHeatMap、カスタム カラーマップを使用するように指示できます。

HeatMap(Data, ...'Colormap', ColormapValue, ...)

必要な値は 3 つだけなので、3 行のカラーマップを作成します。

cmap = [0 1 0; %# green
        0 0 0; %# black
        1 0 0;]%# red

次に、 を呼び出すときHeatMapに、名前と値のペアを含めます。

hmo = HeatMap(data,'colormap',cmap);

clim注:軸プロパティを[0 500]手動で設定する必要がある場合があります。

于 2012-07-27T15:28:15.980 に答える
0

このHeatMap関数は組み込み関数のようには見えないため、そこで何が起こっているのかわかりにくくなっています。ただし、カラーバーの問題は簡単に解決できます。

問題は、カラーマップがこれらの 3 つの色だけで構成されていないことです。以下の例は、必要に応じて手動で変更する方法を示すのに十分です。

% Create some sample data and plot it
p = peaks;
surf(p)
colorbar

これにより、次の図が表示されます。

デフォルトのカラーマップを使用した Figure

colormapここで、緑、黒、赤のみを表示するようにカスタマイズしたい場合(下から上へ):

yourColorMap = [0 1 0; 0 0 0; 1 0 0]; % green, black red RGB code. One per row
colormap(yourColorMap)

画像は次のようになります。

カスタマイズしたカラーマップを使用した Figure

于 2012-07-27T15:09:33.983 に答える