MATLAB のヒストグラム

Ammar Ali 2023年1月30日
  1. MATLAB でベクトルのヒストグラムを作成する
  2. MATLAB でカテゴリヒストグラムを作成する
  3. MATLAB で正規化されたヒストグラムを作成する
  4. MATLAB で同じ図に複数のヒストグラムをプロットする
  5. MATLAB でのヒストグラムの保存
  6. MATLAB の 2 変量ヒストグラム
MATLAB のヒストグラム

このチュートリアルでは、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]

Matlab のベクトルのヒストグラム

上記のコードでは、ランダムベクトルのヒストグラムを作成しました。出力では、ヒストグラムのプロパティ、およびこれらのプロパティを変更できます。たとえば、FaceColor プロパティを使用してヒストグラムの顔の色を変更し、EdgeColor プロパティを使用してエッジの色を変更し、NumBins プロパティを使用してビンの数を変更してみましょう。以下のコードを参照してください。

vector = randn(100,1);
HG = histogram(vector);
HG.FaceColor = 'g';
HG.EdgeColor = 'r';
HG.NumBins = 10;

出力:

ヒストグラムのプロパティ

ヒストグラムの面の色が緑に変更され、エッジの色が赤に変更され、ビンの数が 10 に変更されます。他のヒストグラムのプロパティも必要に応じて変更できます。

MATLAB でカテゴリヒストグラムを作成する

histogram() 関数を使用して、カテゴリヒストグラムを作成することもできます。いくつかの名前などのようにカテゴリ配列に値を定義でき、各カテゴリ変数にヒストグラムに高さとして表示される値を指定する必要があります。たとえば、YesNoNot 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 変量ヒストグラムをロードします。詳細については、このリンクを確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Plot