Main Content

binScatterPlot

tall 配列のビンの散布図

説明

binScatterPlot(X,Y) は、X および Y のデータのビン化された散布図を作成します。関数 binScatterPlot は、X および Y の要素の範囲をカバーし、基となる分布の形状を明らかにするように選択された、一様な領域のビンを返す自動ビン化アルゴリズムを使用します。

binScatterPlot(X,Y,nbins) では、各次元で使用するビンの個数を指定します。

binScatterPlot(X,Y,Xedges,Yedges) では、ベクトル Xedges および Yedges を使用して、各次元におけるビンのエッジを指定します。

binScatterPlot(X,Y,Name,Value) では、前の構文のいずれかを使用し、1 つ以上の名前と値のペアの引数で追加オプションを指定します。たとえば、'Color' と有効な色のオプションを指定してプロットのカラー テーマを変更したり、'Gamma' を正のスカラーで指定して詳細レベルを調整したりできます。

h = binScatterPlot(___) は、Histogram2 オブジェクトを返します。このオブジェクトを使用して、プロットのプロパティを調べます。

すべて折りたたむ

2 つの乱数データの tall ベクトルを作成します。このデータについて、ビン化された散布図を作成します。

tall 配列に対する計算を実行する場合、MATLAB® は並列プール (Parallel Computing Toolbox™ がある場合は既定) またはローカルの MATLAB セッションを使用します。Parallel Computing Toolbox がある場合にローカルの MATLAB セッションを使用して例を実行するには、関数 mapreducer を使用してグローバルな実行環境を変更します。

mapreducer(0)

X = tall(randn(1e5,1));
Y = tall(randn(1e5,1));
binScatterPlot(X,Y)
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 2: Completed in 0.87 sec
- Pass 2 of 2: Completed in 0.23 sec
Evaluation completed in 2.4 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.19 sec
Evaluation completed in 0.27 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

生成される Figure には、イメージの詳細レベルを調整するためのスライダーが含まれています。

3 番目の入力引数としてスカラー値を指定して各次元で同じ個数のビンを使用するか、2 要素ベクトルを指定して各次元で異なる個数のビンを使用します。

tall 配列に対する計算を実行する場合、MATLAB® は並列プール (Parallel Computing Toolbox™ がある場合は既定) またはローカルの MATLAB セッションを使用します。Parallel Computing Toolbox がある場合にローカルの MATLAB セッションを使用して例を実行するには、関数 mapreducer を使用してグローバルな実行環境を変更します。

mapreducer(0)

各次元で 100 個のビンに分類された乱数データのビン化された散布図をプロットします。

X = tall(randn(1e5,1));
Y = tall(randn(1e5,1));
binScatterPlot(X,Y,100)
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.24 sec
Evaluation completed in 0.42 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.15 sec
Evaluation completed in 0.29 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

x 次元では 20 個のビンを、y 次元では引き続き 100 個のビンを使用します。

binScatterPlot(X,Y,[20 100])
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.063 sec
Evaluation completed in 0.15 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.092 sec
Evaluation completed in 0.14 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

ビンのエッジを指定して、乱数データのビン化された散布図をプロットします。外れ値を捕捉するため、ビンのエッジとして Inf-Inf を使用します。

tall 配列に対する計算を実行する場合、MATLAB® は並列プール (Parallel Computing Toolbox™ がある場合は既定) またはローカルの MATLAB セッションを使用します。Parallel Computing Toolbox がある場合にローカルの MATLAB セッションを使用して例を実行するには、関数 mapreducer を使用してグローバルな実行環境を変更します。

mapreducer(0)

各次元で [-2 2] に 100 個のビンがある、ビン化された散布図を作成します。指定したビンのエッジの外部にあるデータは、プロットに含まれません。

X = tall(randn(1e5,1));
Y = tall(randn(1e5,1));
Xedges = linspace(-2,2);
Yedges = linspace(-2,2);
binScatterPlot(X,Y,Xedges,Yedges)
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.58 sec
Evaluation completed in 0.77 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

プロットのエッジで無限大まで広がる粗いビンを使用して、外れ値を捕捉します。

Xedges = [-Inf linspace(-2,2) Inf];
Yedges = [-Inf linspace(-2,2) Inf];
binScatterPlot(X,Y,Xedges,Yedges)
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.15 sec
Evaluation completed in 0.29 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

'Color' として 'c' を指定して、乱数データのビン化された散布図をプロットします。

tall 配列に対する計算を実行する場合、MATLAB® は並列プール (Parallel Computing Toolbox™ がある場合は既定) またはローカルの MATLAB セッションを使用します。Parallel Computing Toolbox がある場合にローカルの MATLAB セッションを使用して例を実行するには、関数 mapreducer を使用してグローバルな実行環境を変更します。

mapreducer(0)

X = tall(randn(1e5,1));
Y = tall(randn(1e5,1));
binScatterPlot(X,Y,'Color','c')
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 2: Completed in 0.64 sec
- Pass 2 of 2: Completed in 0.17 sec
Evaluation completed in 1.7 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.11 sec
Evaluation completed in 0.16 sec

Figure contains an axes object and other objects of type uicontrol. The axes object contains an object of type histogram2.

入力引数

すべて折りたたむ

ビンに分散させるデータ。tall ベクトル、tall 行列行列または tall 多次元配列を別々の引数として指定します。XY は同じサイズでなければなりません。XY がベクトルではない場合、binScatterPlot はこれらを 1 列のベクトル X(:) および Y(:) として扱います。

X および Y の対応する要素では、2 次元データ点 [X(k),Y(k)] の x 座標と y 座標を指定します。XY の基となるデータ型は違うものにできますが、binScatterPlot はこれらの入力を連結し、単一の、支配的な基となるデータ型による N2 列の tall 行列にします。

binScatterPlot は、すべての NaN 値を無視します。同様に、ビンのエッジとして Inf または -Inf を明示的に指定しない限り、binScatterPlot は値 Inf および -Inf を無視します。

メモ

flintmax より大きい int64 または uint64 型の整数が X または Y に含まれている場合、ビンのエッジを明示的に指定することをお勧めします。binScatterPlot は倍精度を使用して自動的に入力データをビン化しますが、flintmax より大きい数値では整数の精度が不足します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

各次元におけるビンの個数。正の整数スカラー、または正の整数が格納されている 2 要素のベクトルを指定します。nbins を指定しない場合、binScatterPlotXY の値に基づいて、使用するビンの個数を自動的に計算します。

  • nbins がスカラーの場合、binScatterPlot はこの個数のビンを各次元で使用します。

  • nbins がベクトルの場合、nbins(1) は x 次元におけるビンの個数を、nbins(2) は y 次元におけるビンの個数を指定します。

例: binScatterPlot(X,Y,20) は、各次元で 20 個のビンを使用します。

例: binScatterPlot(X,Y,[10 20]) は、x 次元で 10 個のビンを、y 次元で 20 個のビンを使用します。

x 次元におけるビンのエッジ。ベクトルを指定します。Xedges(1) は x 次元における最初のビンの最初のエッジです。Xedges(end) は最後のビンの外側のエッジです。

Xedges(i)X(k) < Xedges(i+1) かつ Yedges(j)Y(k) < Yedges(j+1) の場合、値 [X(k),Y(k)](i,j) 番目のビンに含まれます。各次元の最後のビンには、最後の (外側の) エッジも含まれます。たとえば、Xedges(end-1)X(k)Xedges(end) かつ Yedges(i)Y(k) < Yedges(i+1) の場合、[X(k),Y(k)] は最後の行の i 番目のビンに含まれます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

y 次元におけるビンのエッジ。ベクトルを指定します。Yedges(1) は y 次元における最初のビンの最初のエッジです。Yedges(end) は最後のビンの外側のエッジです。

Xedges(i)X(k) < Xedges(i+1) かつ Yedges(j)Y(k) < Yedges(j+1) の場合、値 [X(k),Y(k)](i,j) 番目のビンに含まれます。各次元の最後のビンには、最後の (外側の) エッジも含まれます。たとえば、Xedges(end-1)X(k)Xedges(end) かつ Yedges(i)Y(k) < Yedges(i+1) の場合、[X(k),Y(k)] は最後の行の i 番目のビンに含まれます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

名前と値の引数

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

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

例: binScatterPlot(X,Y,'BinWidth',[5 10])

ビン化アルゴリズム。'BinMethod' と次のいずれかの値から構成されるコンマ区切りのペアとして指定します。

説明
'auto'既定の 'auto' アルゴリズムでは、最大 100 個のビンを使用します。データ範囲をカバーし、基となる分布の形状が明らかになるようにビンの幅を選択します。
'scott'スコットの法則は、データを結合すると正規分布に近づく場合に最適です。この法則は、他のほとんどの分布にも適しています。[3.5*std(X)*numel(X)^(-1/4), 3.5*std(Y)*numel(Y)^(-1/4)] というビン サイズを使用します。
'integers'整数ルールは、各整数についてビンを作成するので、整数データで有効です。幅が 1 のビンを使用し、ビンのエッジを各整数の中間に設定します。誤って多すぎるビンを作成しないようにするため、このルールを使用して、作成するビンの個数を 65536 個 (216) 個に制限することができます。データ範囲が 65536 を超える場合、整数ルールではさらに幅が広いビンを代わりに使用します。

メモ

生成される Histogram2 オブジェクトの BinMethod プロパティの値は、常に 'manual' になります。

各次元におけるビンの幅。'BinWidth' と正の整数のスカラーまたは 2 要素ベクトル [xWidth yWidth] から構成されるコンマ区切りのペアとして指定します。スカラー値を指定すると、ビンの幅が各次元で同じになります。

BinWidth を指定した場合、binScatterPlot は各次元で最大 1024 個 (210 個) のビンを使用できます。さらにビンが必要となる幅が指定された場合、binScatterPlot はビンの最大数に合わせてビンの幅を大きくします。

例: binScatterPlot(X,Y,'BinWidth',[5 10]) は、サイズが 5 のビンを x 次元で、サイズが 10 のビンを y 次元で使用します。

プロットのカラー テーマ。'Color' と次のいずれかのオプションから構成されるコンマ区切りのペアとして指定します。

オプション説明
'b'

'm'

赤紫

'c'

シアン

'r'

'g'

'y'

'k'

ガンマ補正。'Gamma' と正のスカラーから構成されるコンマ区切りのペアとして指定します。このオプションを使用して、イメージの詳細の量に影響を与える明度および色強度を調整します。

  • gamma < 1 — ガンマが減少するにつれ、ビンのカウント数が小さいビンのシェーディングが徐々に暗くなり、より多くのイメージ詳細が含まれます。

  • gamma > 1 — ガンマが増加するにつれ、ビンのカウント数が小さいビンのシェーディングが徐々に明るくなり、イメージから詳細が取り除かれます。

  • 既定値の 1 では表示の補正は適用されません。

x 次元におけるビンの範囲。'XBinLimits' と 2 要素ベクトル [xbmin,xbmax] から構成されるコンマ区切りのペアとして指定します。このベクトルは、x 次元における最初と最後のビンのエッジを指定します。

binScatterPlot はビンの範囲に含まれるデータ Data(Data(:,1)>=xbmin & Data(:,1)<=xbmax) のみをプロットします。

y 次元におけるビンの範囲。'YBinLimits' と 2 要素ベクトル [ybmin,ybmax] から構成されるコンマ区切りのペアとして指定します。このベクトルは、y 次元における最初と最後のビンのエッジを指定します。

binScatterPlot はビンの範囲に含まれるデータ Data(Data(:,2)>=ybmin & Data(:,2)<=ybmax) のみをプロットします。

出力引数

すべて折りたたむ

ビン化された散布図。Histogram2 オブジェクトとして返されます。詳細については、Histogram2 のプロパティ を参照してください。

拡張機能

バージョン履歴

R2016b で導入