Main Content

scatterhist

周辺ヒストグラムをもつ散布図

説明

scatterhist(x,y) は、ベクトル x および y 内のデータの 2 次元散布図を作成し、xy の周辺分布を一変量ヒストグラムとして散布図のそれぞれ横軸および縦軸に表示します。

scatterhist(x,y,Name,Value) では、1 つ以上の名前と値のペア引数で指定された追加オプションを使用してプロットを作成します。たとえば、グループ化変数を指定するか、表示オプションを変更できます。

h = scatterhist(___) は、前の構文の入力引数のいずれかを使用して、散布図、横軸に沿ったヒストグラム、縦軸に沿ったヒストグラムのそれぞれの 3 軸ハンドルのベクトルを返します。

すべて折りたたむ

標本データを読み込みます。データ行列の最初の列からデータ ベクトル x を作成します。これには、アヤメの花のがく片の長さの測定値が含まれます。データ行列の 2 番目の列からデータ ベクトル y を作成します。これには、アヤメの花のがく片の幅を測定した値が含まれます。

load fisheriris
x = meas(:,1);
y = meas(:,2);

散布図と 2 つの周辺ヒストグラムを作成して、がく片の長さとがく片の幅間の関係を可視化します。

scatterhist(x,y)

Figure contains an axes object. The axes object with xlabel x, ylabel y contains a line object which displays its values using only markers.

ヒストグラムのビンに関するデータ ヒントを表示します。ヒストグラム内のビンにカーソルを移動すると、データ ヒントが表示されます。

scatterhist_plot_datatips.png

データ ヒントには、選択したビンの確率密度関数推定と、ビンのエッジの下限値および上限値が表示されます。

標本データを読み込みます。データ行列の最初の列からデータ ベクトル x を作成します。これには、3 種のアヤメの花のがく片の長さの測定値が含まれます。データ行列の 2 番目の列からデータ ベクトル y を作成します。これには、アヤメの花のがく片の幅を測定した値が含まれます。

load fisheriris.mat;
x = meas(:,1);
y = meas(:,2);

散布図と 6 つのカーネル密度プロットを作成して、がく片の長さとがく片の幅間の関係を種類別にグループ化して、可視化します。

scatterhist(x,y,'Group',species,'Kernel','on')

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent setosa, versicolor, virginica.

プロットには、がく片の長さとがく片の幅の関係が、花の種類に応じて異なることが示されています。

標本データを読み込みます。データ行列の最初の列からデータ ベクトル x を作成します。これには、異なる 3 種のアヤメの花のがく片の長さの測定値が含まれます。データ行列の 2 番目の列からデータ ベクトル y を作成します。これには、アヤメの花のがく片の幅を測定した値が含まれます。

load fisheriris.mat;
x = meas(:,1);
y = meas(:,2);

散布図と 6 つのカーネル密度プロットを作成して、3 種のアヤメの花で測定されたがく片の長さとがく片の幅の関係を種類別にグループ化して、可視化します。プロットの外観をカスタマイズします。

scatterhist(x,y,'Group',species,'Kernel','on','Location','SouthEast',...
    'Direction','out','Color','kbr','LineStyle',{'-','-.',':'},...
    'LineWidth',[2,2,2],'Marker','+od','MarkerSize',[4,5,6]);

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent setosa, versicolor, virginica.

標本データを読み込みます。データ行列の最初の列からデータ ベクトル x を作成します。これには、3 種のアヤメの花のがく片の長さの測定値が含まれます。データ行列の 2 番目の列からデータ ベクトル y を作成します。これには、アヤメの花のがく片の幅を測定した値が含まれます。

load fisheriris.mat;
x = meas(:,1);
y = meas(:,2);

座標軸ハンドルを使用して、周辺ヒストグラムを箱ひげ図に置き換えます。

h = scatterhist(x,y,'Group',species);
hold on;
clr = get(h(1),'colororder');
boxplot(h(2),x,species,'orientation','horizontal',...
     'label',{'','',''},'color',clr);
boxplot(h(3),y,species,'orientation','horizontal',...
     'label', {'','',''},'color',clr);
set(h(2:3),'XTickLabel','');
view(h(3),[270,90]);  % Rotate the Y plot
axis(h(1),'auto');  % Sync axes
hold off;

標本データを読み込みます。データ行列の最初の列からデータ ベクトル x を作成します。これには、アヤメの花のがく片の長さの測定値が含まれます。データ行列の 2 番目の列からデータ ベクトル y を作成します。これには、アヤメの花のがく片の幅を測定した値が含まれます。

load fisheriris
x = meas(:,1);
y = meas(:,2);

新しく作成した図を 2 つに分割するために、2 つの uipanel オブジェクトを定義します。図の上半分では、scatterhist を使用して、標本データをプロットします。種類ごとにグループ化された周辺カーネル密度プロット図の下半分は、x に含まれるがく片の長さの測定のヒストグラムをプロットします。

figure
hp1 = uipanel('position',[0 .5 1 .5]);
hp2 = uipanel('position',[0 0 1 .5]);
scatterhist(x,y,'Group',species,'Kernel','on','Parent',hp1);
axes('Parent',hp2);
hist(x);

Figure contains 2 axes objects and other objects of type uipanel. Axes object 1 with xlabel x, ylabel y contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent setosa, versicolor, virginica. Axes object 2 contains an object of type patch. This object represents x.

入力引数

すべて折りたたむ

ベクトルとして指定される標本データ。データ ベクトル xy の長さは同じでなければなりません。

x または yNaN 値が含まれている場合、scatterhist は次のようになります。

  • 散布図を生成するときに、xy の両方のデータ ベクトルから、そのいずれかに含まれる NaN 値をもつ行を削除する

  • 周辺ヒストグラムを生成するときに、対応するデータ ベクトル x または y から、NaN 値のみが含まれる行を削除する

データ型: single | double

ベクトルとして指定される標本データ。データ ベクトル xy の長さは同じでなければなりません。

x または yNaN 値が含まれている場合、scatterhist は次のようになります。

  • 散布図を生成するときに、xy の両方のデータ ベクトルから、そのいずれかに含まれる NaN 値をもつ行を削除する

  • 周辺ヒストグラムを生成するときに、対応するデータ ベクトル x または y から、NaN 値のみが含まれる行を削除する

データ型: single | double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'Location','SouthEast','Direction','out' では、散布図の外へ向かうバーをもつ、散布図の右下にヒストグラムが配置されたプロットを指定します。

ヒストグラムのビンの数。'NBins' と、2 以上の正の整数値またはそのような 2 つの値のベクトルで構成されるコンマ区切りのペアとして指定します。ビンの数が正の整数値として指定されている場合、値は xy 両方のヒストグラムのビン数になります。ビンの数がベクトルとして指定されている場合、最初の値は x データのビンの数で、2 番目の値は y データのビン数になります。既定の設定では、ビンの数は、スコットの法則を使用して標本標準偏差に基づいて計算されます。

例: 'NBins',[5,7]

データ型: single | double

Figure における周辺ヒストグラムの位置。'Location' と、以下のいずれかで構成されるコンマ区切りのペアとして指定します。

'SouthWest'散布図の左下にヒストグラムをプロットします。
'SouthEast'散布図の右下にヒストグラムをプロットします。
'NorthEast'散布図の右上にヒストグラムをプロットします。
'NorthWest'散布図の左上にヒストグラムをプロットします。

例: 'Location','SouthEast'

周辺ヒストグラムの方向。'Direction' と、以下のいずれかで構成されるコンマ区切りのペアとして指定します。

'in'散布図の方へ向かうバーをもつヒストグラムをプロットします。
'out'散布図から離れていくバーをもつヒストグラムをプロットします。

例: 'Direction','out'

グループ化変数。'Group' と categorical 配列、logical ベクトル、数値ベクトル、文字配列、string 配列、または文字ベクトルの cell 配列から構成されるコンマ区切りのペアとして指定します。グループ化変数内の各一意の値が 1 つのグループを定義します。

たとえば、Gender'Male' および 'Female' という値をもつ文字ベクトルの cell 配列である場合、Gender をグループ化変数として使用してデータを性別にプロットすることができます。

グループ化変数の行数と x の長さは等しくなければなりません。

例: 'Group',Gender

データ型: categorical | single | double | logical | char | string | cell

グループ化されたプロットのインジケーター。'PlotGroup' と次のいずれかをコンマ区切りのペアとして指定します。

'on'グループ化されたヒストグラムまたはグループ化されたカーネル密度プロットを表示します。これは、Group パラメーターが指定されている場合の既定の設定です。
'off'データ セット全体のヒストグラムまたはカーネル密度プロットを表示します。これは、Group パラメーターが指定されていない場合の既定の設定です。

例: 'PlotGroup','off'

ヒストグラムの表示スタイル。'PlotGroup' と次のいずれかをコンマ区切りのペアとして指定します。

'stairs'内側にバーを表示せずにヒストグラムの輪郭を示す、階段型のプロットを表示します。これは、複数のグループが含まれているグループ化変数を指定した場合の既定値です。
'bar'ヒストグラムの棒グラフを表示します。これは、グループが 1 つだけ含まれているグループ化変数を指定した場合、または PlotGroup として 'off' を指定した場合の既定値です。

例: 'Style','bar'

カーネル密度プロットのインジケーター。'Kernel' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

'off'周辺分布をヒストグラムとして表示します。
'on'周辺分布をカーネル密度プロットとして表示します。
'overlay'histfit と同様に、ヒストグラムに重ね合わせたカーネル密度プロットとして周辺分布を表示します。

例: 'Kernel','overlay'

カーネル平滑化ウィンドウの幅。'Bandwidth' と、サイズが 2 行 K 列の行列で構成されるコンマ区切りのペアとして指定します。ここで、K は一意のグループの数です。行列の最初の行は x の各グループの帯域幅を提供し、2 番目の行は y の各グループの帯域幅を提供します。既定で scatterhist は、正規分布の密度を推定するのに最適な帯域幅を検出します。別の帯域幅値を指定すると、結果となるカーネル密度プロットの平滑化の特性が変化します。指定される値は、カーネル密度プロットの生成に使用される正規分布のスケーリング ファクターです。

例: 'Bandwidth',[.5,.2,.1;.15,.25,.35]

データ型: single | double

凡例の可視性のインジケーター。'Legend' と、以下のいずれかで構成されるコンマ区切りのペアとして指定します。

'on'凡例の表示を設定します。これは、Group パラメーターが指定されている場合の既定の設定です。
'off'凡例の非表示を設定します。これは、Group パラメーターが指定されていない場合の既定の設定です。

例: 'Legend','on'

プロットの親コンテナー。uipanel コンテナー オブジェクトまたは figure コンテナー オブジェクトとして指定されます。uipanel または figure をそれぞれ使用して、パネル コンテナー オブジェクトを作成できます。

たとえば、h1 がパネル コンテナー オブジェクトの場合、以下のようにプロットの親コンテナーを指定します。

例: 'Parent',h1

カーネル密度プロットのライン スタイル。'LineStyle' と有効なライン スタイル、または有効なライン スタイルの string 配列または cell 配列から構成されるコンマ区切りのペアとして指定します。有効なライン スタイルについては、plot を参照してください。既定値は実線です。グループごとに異なるライン スタイルを指定するには、string 配列または cell 配列を使用します。グループの合計数が指定された値の数を超えると、scatterhist は指定された値を繰り返して使います。

例: 'LineStyle',{'-',':','-.'}

データ型: char | string | cell

カーネル密度プロットのラインの幅。'LineWidth' と、非負のスカラー値または非負のスカラー値のベクトルで構成されるコンマ区切りのペアとして指定します。指定される値は、ポイント数で測定されるカーネル密度プロットのラインのサイズになります。既定のサイズは 0.5 ポイントです。グループごとに異なるライン幅を指定する場合は、ベクトルを使用します。グループの合計数が指定された値の数を超えると、scatterhist は指定された値を繰り返して使います。

例: 'LineWidth',[0.5,1,2]

データ型: single | double

各散布図グループのマーカーの色。'Color' と文字ベクトルまたは string スカラーによる色の名前、または範囲 [0,1] の RGB 値による 3 列の行列から構成されるコンマ区切りのペアとして指定します。行列を使用して色を指定する場合、行列の各行はグループを表す RGB 3 成分にします。行列の 3 つの列はそれぞれ、R の値、G の値、B の値を表します。グループの合計数が指定された色の数を超えると、scatterhist は指定された色を繰り返して使います。

次の表は、事前定義されている色および対応する RGB 3 成分の値の一覧です。

オプション説明等価な RGB 3 成分
'red' または 'r'[1 0 0]
'green' または 'g'[0 1 0]
'blue' または 'b'[0 0 1]
'yellow' または 'y'[1 1 0]
'magenta' または 'm'赤紫[1 0 1]
'cyan' または 'c'シアン[0 1 1]
'white' または 'w'[1 1 1]
'black' または 'k'[0 0 0]

例: 'Color','kcm'

例: 'Color',[.5,0,1;0,.5,.5]

データ型: single | double | char | string

各散布図グループのマーカーの記号。'Marker' と 1 つ以上の有効なマーカーの記号が含まれている文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。有効な記号については、plot を参照してください。既定の設定は 'o' (円) です。グループの合計数が指定された記号の数を超えると、scatterhist は指定された記号を繰り返して使います。

例: 'Marker','+do'

データ型: char | string

各散布図グループのマーカーのサイズ。'MarkerSize' と、ポイント数で測定される非負のスカラー値または非負のスカラー値のベクトルで構成されるコンマ区切りのペアとして指定します。グループの合計数が指定された値の数を超えると、scatterhist は指定された値を繰り返して使います。

例: 'MarkerSize',10

データ型: single | double

出力引数

すべて折りたたむ

3 つのプロットの座標軸ハンドル。ベクトルとして返されます。ベクトルには、散布図、横軸に沿ったヒストグラム、縦軸に沿ったヒストグラムそれぞれのハンドルが含まれます。

代替機能

または、関数 scatterhistogram を使用して ScatterHistogramChart オブジェクトを作成できます。

  • 移動、ズームおよびデータ ヒントの使用により、オブジェクト内のデータを対話的に調べます。関数 scatterhist と異なり、scatterhistogram は現在の散布図の範囲内にあるデータに基づいて周辺ヒストグラムを更新します。

  • 散布ヒストグラム チャートの外観と動作を制御するには、ScatterHistogramChart のプロパティ を変更します。

バージョン履歴

R2007a で導入