Main Content

binscatter

ビン化された散布図

説明

binscatter(x,y) は、ベクトル xy のビン化された散布図を表示します。ビン化された散布図は、データ領域を四角形のビンに分割し、異なる色を使用して各ビンのデータ点のカウントを表示します。プロットにズームインすると、ビンのサイズが自動的に調整されてより高い分解能で表示します。

binscatter(x,y,N) は使用するビンの数を指定します。N にはスカラーまたは 2 要素ベクトル [Nx Ny] を指定できます。N がスカラーの場合、NxNy の両方がスカラー値に設定されます。各次元のビンの最大数は 250 個です。

binscatter(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用してプロパティ値を指定します。たとえば、'ShowEmptyBins''on' に指定して、データ点のない領域に着色できます。プロパティの完全な一覧については、Binscatter のプロパティ を参照してください。このオプションは、前述の構文における任意の入力引数の組み合わせと共に使用します。

binscatter(ax,___) は、現在の座標軸 (gca) の代わりに ax によって指定される座標軸にプロットします。ax の入力は、前述の構文における任意の入力引数の組み合わせより前に指定できます。

h = binscatter(___)Binscatter オブジェクトを返します。このオブジェクトは、ビン化された散布図のプロパティの検査や調整に使用します。

すべて折りたたむ

x 次元および y 次元の両方において乱数を生成し、ビン化された散布図を作成します。関数 binscatter は、データの値の範囲をカバーする適切なビン数を自動的に選択します。

x = randn(1e6,1);
y = 2*x + randn(1e6,1);
binscatter(x,y)

Figure contains an axes object. The axes object contains an object of type binscatter.

10,000 個の乱数を並べ替えて x 次元の 30 個のビンと y 次元の 10 個のビンに入れ、ビン化された散布図をプロットします。

rng default % for reproducibility
x = randn(1e4,1);
y = randn(1e4,1);
h = binscatter(x,y,[30 10]);

Figure contains an axes object. The axes object contains an object of type binscatter.

ビンのカウント数を調べます。結果の行列では、左上の要素がプロットの左下ビンのビンのカウント数に対応します。x のビンは行列の行にあり、y のビンは列にあります。

counts = h.Values;

ランダムなデータ点のビン化された散布図を作成します。

x = randn(1e5,1);
y = randn(1e5,1);
binscatter(x,y)

Figure contains an axes object. The axes object contains an object of type binscatter.

既定のカラーマップの範囲は、明るい色 (小さい値) から暗い色 (大きい値) までです。小さい値に暗い色を使用するカラーマップに切り替えることで、外れ値を見つけやすくなります。

関数 colormap を使用して、プロット内の色を変更します。gca を使用して、現在の座標軸ハンドルを渡します。

colormap(gca,'parula')

Figure contains an axes object. The axes object contains an object of type binscatter.

1,000 個の乱数を生成し、ビン化された散布図を作成します。プロット全体を再作成することなくプロットのプロパティを調整するために、Binscatter オブジェクトを返します。

x = randn(1000,1);
y = randn(1000,1);
h = binscatter(x,y)

Figure contains an axes object. The axes object contains an object of type binscatter.

h = 
  Binscatter with properties:

      NumBins: [11 11]
    XBinEdges: [-3.2764 -2.6485 -2.0206 -1.3927 -0.7648 -0.1369 0.4910 1.1189 1.7468 2.3747 3.0026 3.6305]
    YBinEdges: [-3.1155 -2.5034 -1.8914 -1.2794 -0.6674 -0.0553 0.5567 1.1687 1.7808 2.3928 3.0048 3.6168]
       Values: [11x11 double]
      XLimits: [-3.2764 3.6305]
      YLimits: [-3.1155 3.6168]
    FaceAlpha: 1

  Use GET to show all properties

各方向で使用するビンの数を正確に指定します。

h.NumBins = [20 30];

Figure contains an axes object. The axes object contains an object of type binscatter.

プロット内の空のビンの表示をオンにします。

h.ShowEmptyBins = 'on';

Figure contains an axes object. The axes object contains an object of type binscatter.

座標軸の範囲を XLimits プロパティと YLimits プロパティで指定します。次に、x 方向のビンの範囲をベクトルで制限します。

xlim(gca,h.XLimits); 
ylim(gca,h.YLimits); 
h.XLimits = [-1 1];

Figure contains an axes object. The axes object contains an object of type binscatter.

入力引数

すべて折りたたむ

入力ベクトル。同じ長さの実数ベクトルとして指定します。

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

ビンの数。スカラーまたは 2 要素ベクトル [Nx Ny] として指定します。

  • N が 2 要素ベクトル [Nx Ny] の場合、binscatter は x 次元で Nx 個のビンと y 次元で Ny 個のビンを使用します。

  • N がスカラーの場合、NxNy の両方がスカラー値に設定されます。

binscatter は、座標軸にズームインしていない初期プロット内で、x 次元および y 次元に Nx 個と Ny 個のビンを使用します (XLimMode プロパティと YLimMode プロパティの両方が 'auto' の場合、座標軸はズームインされません)。ズームすると、binscatter はビンのサイズを維持するためにビンの数を調整し、プロットの表示部分をほぼ Nx 個 x Ny 個のビンに分割します。

各次元のビンの最大数は 250 個です。既定のビンの数は、データ サイズと標準偏差に基づいて計算され、100 個を超えません。

例: [10 20]

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

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、binscatter は現在の座標軸 (gca) を使用します。

名前と値の引数

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

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

例: binscatter(x,y,'ShowEmptyBins','on') は、プロット内の空のビンの表示をオンにします。

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

x 次元のデータの範囲。2 要素ベクトル [Xmin Xmax] として指定します。

binscatter は、次の指定されたデータの範囲内にあるデータ点のみを表示します。XminXXmax

例: [0 10]

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

y 次元のデータの範囲。2 要素ベクトル [Ymin Ymax] として指定します。

binscatter は、次の指定されたデータの範囲内にあるデータ点のみを表示します。YminYYmax

例: [0 10]

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

空のビンの表示切り替え。'off' または 'on' もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

ビンの範囲内にあるがデータ点のないプロット内のタイルに着色するには、'on' または true を指定します。

出力引数

すべて折りたたむ

Binscatter オブジェクト。このオブジェクトは、プロットのプロパティの検査や調整に使用します。プロパティの完全な一覧については、Binscatter のプロパティ を参照してください。

ヒント

  • プロットが少数のビンに集中している場合は、座標軸の ColorScale プロパティを 'log' に変更すると、ビンがよりよく配色されます。

    ax = gca;
    ax.ColorScale = 'log';

拡張機能

バージョン履歴

R2017b で導入