密度推定
等高線は、点群の推定密度を表示できます。これは、大きなデータセットでオーバープロットを回避するのに役立ちます。 contourDensity メソッドは、高速な2次元カーネル密度推定を実装しています。
これは、Old Faithfulの間欠泉の休止期間と噴火期間の関係を示す散布図です。
そして、これは53,940個のダイヤモンドの重量と価格の関係を示す密度等高線プロットです。
contourDensity()
例 · ソース · デフォルト設定で新しい密度推定器を構築します。
density(data)
ソース · 指定された *data* 配列の密度等高線を推定し、GeoJSON MultiPolygon ジオメトリオブジェクトの配列を返します。
各ジオメトリオブジェクトは、1平方ピクセルあたりの推定ポイント数が対応するしきい値以上である領域を表します。各ジオメトリオブジェクトのしきい値は *geometry*.value として公開されます。返されたジオメトリオブジェクトは、通常、関連付けられた投影としてnullまたはgeoIdentityを使用して、geoPathに渡されて表示されます。contoursも参照してください。
各データポイントのx座標とy座標は、 *density*.x と *density*.y を使用して計算されます。さらに、 *density*.weight は、各データポイントの相対的な寄与度を示します(デフォルトは1)。生成された等高線は、推定器の定義されたサイズ内でのみ正確です。
density.x(x)
ソース · *x* が指定されている場合、 *x* 座標アクセサーを設定します。 *x* が指定されていない場合、現在の *x* 座標アクセサーを返します。デフォルトは次のとおりです。
function x(d) {
return d[0];
}
density.y(y)
ソース · *y* が指定されている場合、*y* 座標アクセサーを設定します。*y* が指定されていない場合、現在の *y* 座標アクセサーを返します。デフォルトは次のとおりです。
function y(d) {
return d[1];
}
density.weight(weight)
ソース · *weight* が指定されている場合、ポイントの重みアクセサーを設定します。 *weight* が指定されていない場合、現在のポイントの重みアクセサーを返します。デフォルトは次のとおりです。
function weight() {
return 1;
}
density.size(size)
ソース · *size* が指定されている場合、密度推定器のサイズを指定された境界に設定し、推定器を返します。 *size* は配列[ *width* 、 *height* ]として指定されます。ここで、 *width* は最大 *x* 値、 *height* は最大 *y* 値です。 *size* が指定されていない場合、デフォルト値[960、500]である現在のサイズを返します。 推定密度等高線は、定義されたサイズ内でのみ正確です。
density.cellSize(cellSize)
ソース · *cellSize* が指定されている場合、基になるビン グリッド内の個々のセルのサイズを指定された正の整数に設定し、推定器を返します。 *cellSize* が指定されていない場合、デフォルト値4である現在のセル サイズを返します。セル サイズは、2の累乗に切り捨てられます。セルのサイズが小さいほど、より詳細な等高線ポリゴンが生成されますが、計算コストが高くなります。
density.thresholds(thresholds)
ソース · *thresholds* が指定されている場合、しきい値ジェネレーターを指定された関数または配列に設定し、この等高線ジェネレーターを返します。 *thresholds* が指定されていない場合、デフォルトで約20個の適切に丸められた密度しきい値を生成する現在のしきい値ジェネレーターを返します。
しきい値は、値の配列[ *x0* 、 *x1* 、…]として定義されます。最初の生成された密度等高線は、推定密度が *x0* 以上である領域に対応します。2番目の等高線は、推定密度が *x1* 以上である領域に対応します。したがって、指定されたしきい値ごとに、生成されるMultiPolygonジオメトリオブジェクトは1つだけです。しきい値は*geometry*.valueとして公開されます。最初の値 *x0* は、通常、ゼロより大きくなければなりません。
しきい値の配列の代わりに *count* が指定されている場合、約 *count* 個の均等に配置された適切に丸められたしきい値が生成されます。 ticksを参照してください。
density.bandwidth(bandwidth)
ソース · *bandwidth* が指定されている場合、ガウスカーネルの帯域幅(標準偏差)を設定し、推定値を返します。 *bandwidth* が指定されていない場合、デフォルト値20.4939…である現在の帯域幅を返します。指定された *bandwidth* は、現在、この実装によって最も近いサポートされている値に丸められており、非負でなければなりません。
density.contours(data)
例 · ソース · 基になるグリッドを再計算することなく、指定されたデータに対して任意の等高線を計算するために使用できる *contour* ( *value* )関数を返します。返された *contour* 関数は、グリッドの最大密度を表す *contour* .max 値も公開します。