10

私はこのグラフをエミュレートしようとしています: ここに画像の説明を入力してください

相関行列がある場合、どうすればこのような出力を作成できますか?

4

3 に答える 3

8

n x n相関行列があり、各ビンのラベルを含む長さMのベクトルがある場合は、次のようなものを使用できます。Ln

imagesc(M); % plot the matrix
set(gca, 'XTick', 1:n); % center x-axis ticks on bins
set(gca, 'YTick', 1:n); % center y-axis ticks on bins
set(gca, 'XTickLabel', L); % set x-axis labels
set(gca, 'YTickLabel', L); % set y-axis labels
title('Your Title Here', 'FontSize', 14); % set title
colormap('jet'); % set the colorscheme
colorbar on; % enable colorbar

x軸ラベルの回転は簡単ではありませんが、MATLAB CentralFileExchangeにはいくつかのソリューションが含まれています。

于 2012-04-30T20:16:35.630 に答える
3

@Thomas CGの答えに加えて、私は以下を使用します。

imagesc(myMatrix);
colormap(jet);
colorbar;

% then to set the axis titles you'll have to use
% Please note the curly braces for the cell array
labelNames = {'USA','NASDAQ','Dow Jones'};
set(gca,'XTickLabel',labelNames);   % gca gets the current axis
set(gca,'YTickLabel'labelNames);   % gca gets the current axis

残念ながら、AFAIKは、テキストラベルを図のように垂直にするのは、少し難しいです。多分他の誰かが反対の知識を持っています。

于 2012-04-30T20:04:26.597 に答える
1

行列を画像としてプロットするには、次の2つの関数を呼び出す必要があります。

image(myMatrix)
colormap(jet)

カラーマップ関数は、画像のレンダリングに使用されるカラーパターンを定義します。投稿した画像は「ジェット」カラーマップを使用しています。

また、画像の横にカラースケールを表示するには、カラーバー機能を使用します。

于 2012-04-30T19:14:32.737 に答える