Main Content

scatterhistogram

ヒストグラムを伴う散布図の作成

  • Scatter plot with histograms

説明

scatterhistogram(tbl,xvar,yvar) はテーブル tbl から周辺ヒストグラムを伴う散布図を作成します。入力 xvar は、x 軸に沿って表示する table 変数を示します。入力 yvar は、y 軸に沿って表示する table 変数を示します。

scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar)grpvar によって指定された table 変数を使用して、xvaryvar によって指定された観測値をグループ化します。

scatterhistogram(xvalues,yvalues) は、xvaluesyvalues のデータの散布図を作成し、xvalues データと yvalues データの周辺ヒストグラムをそれぞれ x 軸と y 軸に沿って表示します。

scatterhistogram(xvalues,yvalues,'GroupData',grpvalues)grpvalues のデータを使用して、xvaluesyvalues のデータをグループ化します。

scatterhistogram(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、周辺ヒストグラムを伴う散布図の追加オプションを指定します。オプションは他のすべての入力引数の後に指定します。プロパティの一覧については、ScatterHistogramChart のプロパティ を参照してください。

scatterhistogram(parent,___) は、parent によって指定された Figure、パネル、またはタブ内に周辺ヒストグラムを伴う散布図を作成します。

s = scatterhistogram(___) は、ScatterHistogramChart オブジェクトを返します。作成後にオブジェクトを変更するには、s を使用します。プロパティの一覧については、ScatterHistogramChart のプロパティ を参照してください。

すべて折りたたむ

内科患者データの table から周辺ヒストグラムを伴う散布図を作成します。

patients データセットを読み込み、ワークスペースに読み込んだ変数のサブセットから table を作成します。次に、Height 値と Weight 値を比較するヒストグラム付き散布図を作成します。

load patients
tbl = table(LastName,Age,Gender,Height,Weight);
s = scatterhistogram(tbl,'Height','Weight');

Figure contains an object of type scatterhistogram.

patients データセットを使用して、周辺ヒストグラムを伴う散布図を作成し、データのグループ化に使用する table 変数を指定します。

patients データセットを読み込み、そのデータからヒストグラム付き散布図を作成します。患者の SystolicDiastolic の値を比較します。名前と値のペアの引数 'GroupVariable''Smoker' に設定することで、患者の喫煙状況に従ってデータをグループ化します。

load patients
tbl = table(LastName,Diastolic,Systolic,Smoker);
s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','Smoker');

Figure contains an object of type scatterhistogram.

周辺ヒストグラムを伴う散布図を使用して、categorical および数値の医療データを可視化します。

patients データセットを読み込み、Smoker データを categorical 配列に変換します。次に、患者の Age 値と喫煙状況を比較するヒストグラム付き散布図を作成します。結果の散布図には、オーバーラップするデータ点が含まれています。ただし、y 軸の周辺ヒストグラムは、データセット内には喫煙者よりもはるかに多くの非喫煙者がいることを示しています。

load patients
Smoker = categorical(Smoker);
s = scatterhistogram(Age,Smoker);
xlabel('Age')
ylabel('Smoker')

Figure contains an object of type scatterhistogram.

靴のデータの配列を使用して、周辺ヒストグラムを伴う散布図を作成します。靴の色に従ってデータをグループ化し、ヒストグラム付き散布図のプロパティをカスタマイズします。

データの配列を作成します。次に、ヒストグラム付き散布図を作成して、データを可視化します。x 軸と y 軸に沿ったカスタム ラベルを使用して、最初の 2 つの入力引数の変数名を指定します。ScatterHistogramChart オブジェクトのプロパティを設定することで、タイトル、軸ラベル、凡例のタイトルを指定できます。

xvalues = [7 6 5 6.5 9 7.5 8.5 7.5 10 8];
yvalues = categorical({'onsale','regular','onsale','onsale', ...
    'regular','regular','onsale','onsale','regular','regular'});
grpvalues = {'Red','Black','Blue','Red','Black','Blue','Red', ...
    'Red','Blue','Black'};
s = scatterhistogram(xvalues,yvalues,'GroupData',grpvalues);

s.Title = 'Shoe Sales';
s.XLabel = 'Shoe Size';
s.YLabel = 'Price';
s.LegendTitle = 'Shoe Color';

グループ ラベルに一致するように、ヒストグラム付き散布図内の色を変更します。すべてのグループで同じになるようにヒストグラムのビン幅を変更します。

s.Color = {'Red','Black','Blue'};
s.BinWidths = 1;

Figure contains an object of type scatterhistogram. The chart of type scatterhistogram has title Shoe Sales.

周辺ヒストグラムを伴う散布図を作成します。ヒストグラムのビン数とライン幅、散布図の場所、凡例の可視性を指定します。

patients データセットを読み込み、そのデータからヒストグラム付き散布図を作成します。患者の DiastolicSystolic の値を比較し、患者の SelfAssessedHealthStatus の値に従ってデータをグループ化します。NumBins オプションと LineWidth オプションを指定することで、ヒストグラムを調整します。ScatterPlotLocation オプションを使用して、Figure の 'NorthEast' の位置に散布図を配置します。LegendVisible オプションを 'on' と指定することで、凡例が表示されることを確認します。

load patients
tbl = table(LastName,Diastolic,Systolic,SelfAssessedHealthStatus);
s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','SelfAssessedHealthStatus', ...
    'NumBins',4,'LineWidth',1.5,'ScatterPlotLocation','NorthEast','LegendVisible','on');

Figure contains an object of type scatterhistogram.

周辺ヒストグラムを伴う散布図を作成します。2 つの異なる変数の組み合わせを使用してデータをグループ化します。

patients データ セットを読み込みます。SmokerGender の各データを組み合わせ、新しい変数を作成します。患者の DiastolicSystolic の値を比較するヒストグラム付き散布図を作成します。新しい変数 SmokerGender を使用して、ヒストグラム付き散布図内のデータをグループ化します。

load patients
[idx,genderStatus,smokerStatus] = findgroups(string(Gender),string(Smoker));
SmokerGender = strcat(genderStatus(idx),"-",smokerStatus(idx));
s = scatterhistogram(Diastolic,Systolic,'GroupData',SmokerGender,'LegendVisible','on');
xlabel('Diastolic')
ylabel('Systolic')

Figure contains an object of type scatterhistogram.

周辺カーネル密度ヒストグラムを伴う散布図を作成します。

patients データ セットを読み込みます。変数 DiastolicSystolic、および Smoker から table を作成します。

load patients.mat
tbl = table(Diastolic,Systolic,Smoker);

患者の DiastolicSystolic の血圧値を比較するヒストグラム付き散布図を作成します。患者の喫煙状態を使用してデータをグループ化し、周辺カーネル密度プロットを表示します。プロットから、喫煙者の方が非喫煙者に比べて収縮期と拡張期の血圧の平均が高いことがわかります。

s = scatterhistogram(tbl,"Diastolic","Systolic", ...
    GroupVariable="Smoker",HistogramDisplayStyle="smooth", ...
    LineStyle="-");

Figure contains an object of type scatterhistogram.

入力引数

すべて折りたたむ

ソース table。table として指定します。

関数 table を使用してワークスペース変数から table を作成できます。また、関数 readtable を使用してデータを table としてインポートできます。

ScatterHistogramChart オブジェクトの SourceTable プロパティにソース table が格納されます。

x 軸の table 変数。次のいずれかの形式で指定します。

  • 文字ベクトルまたは string スカラー — いずれかの変数名を示します。たとえば、scatterhistogram(tbl,'Acceleration','Horsepower')x 軸として 'Acceleration' という名前の変数を選択します。

  • 数値スカラー — table 変数のインデックスを示します。たとえば、scatterhistogram(tbl,5,3)x 軸として table 内の 5 番目の変数を選択します。

  • logical ベクトル — 1 つの true 要素を含みます。

table 変数に関連付けられた値は、数値型または categorical でなければなりません。

選択された変数名は、ScatterHistogramChart オブジェクトの XVariable プロパティに格納されます。

y 軸の table 変数。次のいずれかの形式で指定します。

  • 文字ベクトルまたは string スカラー — いずれかの変数名を示します。たとえば、scatterhistogram(tbl,'Acceleration','Horsepower')y 軸として 'Horsepower' という名前の変数を選択します。

  • 数値スカラー — table 変数のインデックスを示します。たとえば、scatterhistogram(tbl,5,3)y 軸として table 内の 3 番目の変数を選択します。

  • logical ベクトル — 1 つの true 要素を含みます。

table 変数に関連付けられた値は、数値型または categorical でなければなりません。

選択された変数名は、ScatterHistogramChart オブジェクトの YVariable プロパティに格納されます。

グループ化データの table 変数。次のいずれかの形式で指定します。

  • 文字ベクトルまたは string スカラー — いずれかの変数名を示す

  • 数値スカラー — table 変数のインデックスを示す

  • logical ベクトル — 1 つの true 要素を含む

table 変数に関連付けられた値は、数値ベクトル、logical ベクトル、categorical 配列、string 配列、または文字ベクトルの cell 配列を形成しなければなりません。

grpvar は、xvaryvar のデータを一意のグループに分割します。各グループは、それぞれの座標軸で既定の色と独立のヒストグラムをもちます。凡例では、scatterhistogram はグループ名を GroupData 内における初回出現順に表示します。

例: 'Model_Year'

例: 2

x 軸に沿って表示される値。数値ベクトルまたは categorical 配列として指定します。

ScatterHistogramChart オブジェクトの XData プロパティに xvalues データが格納されます。

例: [0.5 4.3 2.4 5.6 3.4]

例: categorical({'small','medium','small','large','medium','small'})

y 軸に沿って表示される値。数値ベクトルまたは categorical 配列として指定します。

ScatterHistogramChart オブジェクトの YData プロパティに yvalues データが格納されます。

例: [0.5 4.3 2.4 5.6 3.4]

例: categorical({'small','medium','small','large','medium','small'})

散布図と対応する周辺ヒストグラムのグループ値。数値ベクトル、logical ベクトル、categorical 配列、string 配列、または文字ベクトルの cell 配列として指定します。

grpvalues は、xvaluesyvalues のデータを一意のグループに分割します。各グループは、それぞれの座標軸で既定の色と独立のヒストグラムをもちます。凡例では、scatterhistogram はグループ名を GroupData 内における初回出現順に表示します。

例: [1 2 1 3 2 1 3]

例: categorical({'blue','green','green','blue','green'})

親コンテナー。Figure オブジェクト、Panel オブジェクト、Tab オブジェクト、TiledChartLayout オブジェクト、または GridLayout オブジェクトとして指定します。

名前と値の引数

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

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

例: scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar,'HistogramDisplayStyle','stairs')grpvar をグループ化変数として指定し、散布図の隣に階段状プロットを表示します。

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、ScatterHistogramChart のプロパティ を参照してください。

チャートのタイトル。文字ベクトル、string 配列、文字ベクトルの cell 配列または categorical 配列として指定します。既定のチャートにはタイトルがありません。

複数行のタイトルを作成するには、string 配列または文字ベクトルの cell 配列を指定します。配列の各要素は、テキストの行に対応します。

タイトルを categorical 配列として指定した場合、MATLAB® はカテゴリではなく、配列内の値を使用します。

例: s = scatterhistogram(__,'Title','My Title Text')

例: s.Title = 'My Title Text'

例: s.Title = {'My','Title'}

ヒストグラム ビンの数。正の整数スカラー、2 行 1 列の正の整数ベクトル、または 2 行 n 列の正の整数行列として指定します。ここで、nGroupData 内のグループ数です。

指定した値説明
スカラーこの値は、xy のヒストグラムのビン数です。
2 行 1 列のベクトル最初の値は x データのビンの数です。2 番目の値は y データのビンの数です。
2 行 n 列の行列(1,j) 値は、j 番目のグループ内にある x データのヒストグラムのビン数です。同様に、(2,j) 値は、j 番目のグループ内にある y データのヒストグラムのビン数です。

scatterhistogram は、histogram の名前と値のペアの引数 'BinMethod','auto' を使用して、NumBinsBinWidths の既定値を決定します。

categorical データの NumBins は変更できません。

例: s = scatterhistogram(__,'NumBins',20)

例: s.NumBins = [10; 15]

ヒストグラムの表示スタイル。次のオプションのいずれかとして指定します。

表示スタイル説明
'stairs'バーを塗りつぶさずにヒストグラムの外枠を示す階段状プロットを表示します。
'bar'ヒストグラムの棒グラフを表示します。
'smooth'カーネル密度推定を使用して生成された滑らかなプロットを表示します。

scatterhistogram は、ヒストグラムを生成するために 'pdf' タイプの正規化を使用します。詳細については、histogram の名前と値のペアの引数 'Normalization' を参照してください。

例: s = scatterhistogram(__,'HistogramDisplayStyle','smooth')

例: s.HistogramDisplayStyle = 'bar'

ヒストグラムのライン幅。正のスカラーまたはポイント単位の正のベクトルとして指定します。既定では、scatterhistogram0.5 のライン幅をヒストグラムの各プロット ラインに割り当てます。

グループの合計数が指定されたライン幅の数を超えると、scatterhistogram は指定されたライン幅を先頭から順番に繰り返し使用します。

例: s = scatterhistogram(__,'LineWidth',0.75)

例: s.LineWidth = [0.5 0.75 0.5]

各散布図グループのマーカー記号。次のいずれかの形式で指定します。

  • マーカー スタイルを示す文字ベクトル

  • 1 つ以上のマーカー スタイルを示す string 配列または文字ベクトルの cell 配列

次のマーカー オプションから選択します。

マーカー説明結果のマーカー
"o"

Sample of circle marker

"+"プラス記号

Sample of plus sign marker

"*"アスタリスク

Sample of asterisk marker

"."

Sample of point marker

"x"十字

Sample of cross marker

"_"水平線

Sample of horizontal line marker

"|"垂直線

Sample of vertical line marker

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond marker

"^"上向き三角形

Sample of upward-pointing triangle marker

"v"下向き三角形

Sample of downward-pointing triangle marker

">"右向き三角形

Sample of right-pointing triangle marker

"<"左向き三角形

Sample of left-pointing triangle marker

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

Sample of hexagram marker

"none"マーカーなし該当なし

既定では、scatterhistogram は、マーカー記号 'o' を散布図内の各グループに割り当てます。グループの合計数が指定された記号の数を超えると、scatterhistogram は指定された記号を先頭から順番に繰り返し使用します。

例: s = scatterhistogram(__,'MarkerStyle','x')

例: s.MarkerStyle = {'x','o'}

散布図の場所。次のいずれかのオプションとして指定します。

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

例: s = scatterhistogram(__,'ScatterPlotLocation','NorthEast')

例: s.ScatterPlotLocation = 'SouthEast'

凡例の可視性の状態。'on' または 'off' で指定します。凡例を表示する場合は LegendVisible'on' に、凡例を非表示にする場合は 'off' に設定します。

GroupData が空 ([]) であるか、1 つのグループが含まれている場合、scatterhistogram は凡例を表示しません。そうでない場合、凡例が散布図または周辺ヒストグラムにオーバーラップしない限り、scatterhistogram は既定で凡例を表示します。

凡例では、scatterhistogram はグループ名を GroupData 内における初回出現順に表示します。

例: s = scatterhistogram(__,'LegendVisible','on')

例: s.LegendVisible = 'off'

出力引数

すべて折りたたむ

スタンドアロンの可視化である ScatterHistogramChart オブジェクト。作成後にオブジェクトを変更するには、s を使用します。プロパティの一覧については、ScatterHistogramChart のプロパティ を参照してください。

詳細

すべて折りたたむ

スタンドアロンの可視化

スタンドアロンの可視化は、特定の目的のために設計され、他のチャートとは独立して機能するチャートです。スタンドアロンの可視化は、plotsurf といった他のチャートとは異なり、あらかじめ設定された axes オブジェクトが組み込まれていて、カスタマイズできる項目が限られています。また、スタンドアロンの可視化には以下の特徴があります。

  • ライン、パッチ、表面といった他のグラフィックス要素と組み合わせることはできません。そのため、hold コマンドはサポートされていません。

  • 関数 gca は、現在の座標軸としてチャート オブジェクトを返すことができます。

  • 入力引数として axes オブジェクトを受け入れる多くの MATLAB 関数にチャート オブジェクトを渡すことができます。たとえば、関数 title にチャート オブジェクトを渡すことができます。

ヒント

  • ScatterHistogramChart オブジェクトでデータを対話的に調べるには、次のオプションを使用します。これらのオプションの一部は、ライブ エディターでは使用できません。

    • ズーム/パン — スクロール ホイールまたは + ボタンと - ボタンを使用してズームします。散布図をクリックしてドラッグし、移動します。scatterhistogram は、現在の散布図の範囲内にあるデータに基づいて周辺ヒストグラムを更新します。

    • データヒント — 散布図または周辺ヒストグラムにカーソルを合わせると、データヒントが表示されます。

  • table から周辺ヒストグラムを伴う散布図を作成する場合、散布図のデータ ヒントをカスタマイズできます。

    • データ ヒントの行を追加または削除するには、散布図の任意の場所を右クリックして [データ ヒントの変更] をポイントします。次に、変数を選択または選択解除します。

    • 複数の行を追加または削除するには、プロット上で右クリックして [データ ヒントの変更] をポイントし、[詳細] を選択します。次に、[>>] をクリックして変数を追加するか、[<<] をクリックして変数を削除します。

バージョン履歴

R2018b で導入

すべて展開する