MATLAB のヒストグラム
- MATLAB でベクトルのヒストグラムを作成する
- MATLAB でカテゴリヒストグラムを作成する
- MATLAB で正規化されたヒストグラムを作成する
- MATLAB で同じ図に複数のヒストグラムをプロットする
- MATLAB でのヒストグラムの保存
- MATLAB の 2 変量ヒストグラム
このチュートリアルでは、MATLAB の histogram()
および histogram2()
関数を使用して、特定のデータのヒストグラムをプロットする方法について説明します。
MATLAB でベクトルのヒストグラムを作成する
指定されたベクトルのヒストグラムを作成するには、MATLAB の histogram()
関数を使用できます。たとえば、特定のベクトルのヒストグラムを作成しましょう。以下のコードを参照してください。
vector = randn(100,1);
HG = histogram(vector)
出力:
HG =
Histogram with properties:
Data: [100x1 double]
Values: [2 18 29 31 17 3]
NumBins: 6
BinEdges: [-3 -2 -1 0 1 2 3]
BinWidth: 1
BinLimits: [-3 3]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
上記のコードでは、ランダムベクトルのヒストグラムを作成しました。出力では、ヒストグラムのプロパティ、およびこれらのプロパティを変更できます。たとえば、FaceColor
プロパティを使用してヒストグラムの顔の色を変更し、EdgeColor
プロパティを使用してエッジの色を変更し、NumBins
プロパティを使用してビンの数を変更してみましょう。以下のコードを参照してください。
vector = randn(100,1);
HG = histogram(vector);
HG.FaceColor = 'g';
HG.EdgeColor = 'r';
HG.NumBins = 10;
出力:
ヒストグラムの面の色が緑に変更され、エッジの色が赤に変更され、ビンの数が 10 に変更されます。他のヒストグラムのプロパティも必要に応じて変更できます。
MATLAB でカテゴリヒストグラムを作成する
histogram()
関数を使用して、カテゴリヒストグラムを作成することもできます。いくつかの名前などのようにカテゴリ配列に値を定義でき、各カテゴリ変数にヒストグラムに高さとして表示される値を指定する必要があります。たとえば、Yes
、No
、Not Sure
の 3つのカテゴリ変数のヒストグラムを作成しましょう。以下のコードを参照してください。
Vector = [7 7 7 8 8 8 8 9 7 8 8 8 7 8 7 8 7 8 8 8];
Cat = categorical(Vector,[7 8 9],{'Yes','No','Not Sure'});
HG = histogram(Cat)
出力:
上記のコードでは、3つの変数のカテゴリヒストグラムを作成しました。各変数に異なる値を割り当てました。たとえば、値 7
を変数 Yes
に、8
を変数 No
に、9
を変数 Not Sure
に割り当てました。変数 Vector
で値 7
が 7 回繰り返されるということは、変数 Yes
が高さ 7
などのヒストグラムに表示されることを意味します。ヒストグラムには、カテゴリ変数をいくつでも追加できます。
MATLAB で正規化されたヒストグラムを作成する
histogram()
関数内の Normalization
プロパティを使用して、ヒストグラムを正規化できます。たとえば、乱数からヒストグラムを作成し、Normalization
プロパティを使用してそれを正規化してみましょう。以下のコードを参照してください。
clc
vector = randn(100,1);
HG = histogram(vector,'Normalization','probability')
出力:
上記のヒストグラムは、確率正規化を使用して正規化されています。カウントの正規化など、他の正規化も使用できます。
MATLAB で同じ図に複数のヒストグラムをプロットする
hold
機能を使用して、同じ図に複数のヒストグラムをプロットすることもできます。たとえば、同じ図に 2つのヒストグラムをプロットしてみましょう。以下のコードを参照してください。
vector = randn(100,1);
HG1 = histogram(vector)
hold on
vector = 5+randn(100,1);
HG2 = histogram(vector)
出力:
上記のコードでは、同じ図に 2つのヒストグラムをプロットしました。同じ図に好きなだけプロットをプロットでき、MATLAB はそれらに自動的に別の色を与えます。各ヒストグラムに希望の色を付けることもできます。legend()
関数を使用してヒストグラムに凡例を追加し、それらを互いに分離することもできます。
MATLAB でのヒストグラムの保存
MATLAB の savefig()
関数を使用してヒストグラムを保存でき、openfig()
関数を使用して保存したヒストグラムを読み込むことができます。以下のコードを参照してください。
savefig('Hist.fig');
close gcf
histogram = openfig('Hist.fig');
上記のコードでは、Hist
はヒストグラムが保存される変数です。詳細については、このリンクを確認してください。
MATLAB の 2 変量ヒストグラム
2つの変数のヒストグラムを作成する場合は、histogram2()
関数を使用できます。たとえば、2つのベクトルのヒストグラムをプロットしてみましょう。以下のコードを参照してください。
vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2)
出力:
上記のコードでは、2つのベクトルから 2 変量ヒストグラムをプロットしました。colorbar
関数を使用してカラーバーを追加することもできます。この関数は、ビンの高さに応じてヒストグラムに色を追加します。ビンの高さが高くなると、ビンの色は低温から高温に変化し、その逆も同様です。たとえば、上記の 2 変量ヒストグラムにカラーバーを追加しましょう。以下のコードを参照してください。
vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2,[12 12],'FaceColor','flat')
colorbar
出力:
view()
関数を使用して、ヒストグラムのビューを変更することもできます。たとえば、上記の 2 変量ヒストグラムのビューを 3D から 2D に変更してみましょう。以下のコードを参照してください。
vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2,[12 12],'FaceColor','flat')
colorbar
view(2)
出力:
上記のヒストグラムで使用されているのと同じ関数とプロパティを使用して、2 変量ヒストグラムの他のプロパティを変更することもできます。たとえば、FaceColor
プロパティを使用して顔の色、EdgeColor
プロパティを使用してエッジの色、NumBins
プロパティを使用してビンの数、Normalization
プロパティを使用して正規化などを変更できます。保存することもできます。savefig()
および openfig()
関数を使用して 2 変量ヒストグラムをロードします。詳細については、このリンクを確認してください。