メインコンテンツ

geodensityplot

地理座標での密度プロット

説明

geodensityplot(lat,lon) は、地理座標で密度プロットを作成します。lat を使用して緯度座標 (度単位) を指定し、lon を使用して経度座標 (度単位) を指定します。現在の座標軸が地理座標軸ではない場合、または現在の座標軸がない場合、この関数は新しい地理座標軸に密度プロットを作成します。

geodensityplot(lat,lon,weights) は、データ点の重みを指定します。

geodensityplot(gx,___) は、gx で指定された地理座標軸にプロットします。最初の引数として座標軸を、その後に前述の構文の任意の入力引数の組み合わせを指定します。

geodensityplot(___,Name=Value) は、1 つ以上の名前と値の引数を使用して、密度プロットのプロパティを指定します。プロパティの一覧については、DensityPlot Properties を参照してください。

dp = geodensityplot(___) は、DensityPlot オブジェクトを返します。dp を使用して、プロットの作成後にプロパティを設定します。プロパティの完全な一覧については、DensityPlot Properties を参照してください。

すべて折りたたむ

カリフォルニアの携帯電話基地局データを含む table を読み込みます。各 table 行は携帯電話基地局を表します。table 変数には、緯度と経度の座標など、携帯電話基地局に関するデータが含まれます。table から緯度と経度の座標を抽出します。

load cellularTowers.mat
lat = cellularTowers.Latitude;
lon = cellularTowers.Longitude;

座標から密度プロットを作成します。既定では、geodensityplot 関数はプロットの透明度を変化させることで密度を可視化します。密度が高い地域ほど透明度が下がり、密度が低い地域ほど透明度が上がります。

figure
geodensityplot(lat,lon)

台風追跡データを含む table を読み込みます。この table には、6 時間間隔で測定された、200 を超える台風の位置と風速が含まれています。table から緯度座標、経度座標、および風速を抽出します。

load cycloneTracks.mat
lat = cycloneTracks.Latitude;
lon = cycloneTracks.Longitude;
windspeed = cycloneTracks.WindSpeed;

座標から密度プロットを作成し、風速を使用して点に重みを付けます。結果として得られる密度プロットでは、台風の風速が最も高いエリアが強調表示されます。

geodensityplot(lat,lon,windspeed)

この例では、日本の気象庁の RSMC Best Track Data を修正して使用しています。

カリフォルニアの携帯電話基地局データを含む table を読み込みます。各 table 行は携帯電話基地局を表します。table 変数には、緯度と経度の座標など、携帯電話基地局に関するデータが含まれます。table から緯度と経度の座標を抽出します。

load cellularTowers.mat
lat = cellularTowers.Latitude;
lon = cellularTowers.Longitude;

座標から密度プロットを作成します。各点が影響を与える半径を 50 km に指定します。

geodensityplot(lat,lon,Radius=50e3)

既定では、geodensityplot 関数は密度プロットの透明度を変化させることで密度を可視化します。プロットの色を変化させることで密度を可視化することもできます。

台風追跡データを含む table を読み込みます。この table には、6 時間間隔で測定された、200 を超える台風の軌跡が記録されています。table から緯度と経度の座標を抽出します。

load cycloneTracks.mat
lat = cycloneTracks.Latitude;
lon = cycloneTracks.Longitude;

座標から密度プロットを作成します。FaceColor プロパティを "interp" に設定して、プロットの色を変化させます。

geodensityplot(lat,lon,FaceColor="interp")

カラーマップを変更し、ラベル付きのカラー バーを追加します。データに重み付けをしない場合、密度プロットの単位は平方メートルあたりの点数です。プロットでは、透明度と色の両方を使用して密度が可視化されていることに注意してください。

colormap turbo
c = colorbar;
c.Label.String = "Data points per square meter";

この例では、日本の気象庁の RSMC Best Track Data を修正して使用しています。

入力引数

すべて折りたたむ

緯度座標 (度単位)。範囲 [–90, 90] の要素をもつベクトルとして指定します。このベクトルには NaN 値を含めることができます。

lat および lon のサイズは一致する必要があります。

例: [43.0327 38.8921 44.0435]

データ型: single | double

経度座標 (度単位)。ベクトルとして指定します。このベクトルには NaN 値を含めることができます。

lat および lon のサイズは一致する必要があります。

例: [-107.5556 -77.0269 -72.5565]

データ型: single | double

データに割り当てる重み。数値スカラー、数値ベクトル、または空の配列 ([]) として指定します。ベクトルを指定する場合、ベクトルのサイズは lat および lon のサイズと一致する必要があります。

この引数は通常、lat および lon の位置データに関連する追加データを指定します。

ターゲットの地理座標軸。GeographicAxes オブジェクトとして指定します。 1 プロパティを設定することで GeographicAxes オブジェクトの外観と動作を変更できます。プロパティの一覧については、GeographicAxes のプロパティ を参照してください。

この引数を指定しなかった場合、関数は、現在の座標軸が地理座標軸であれば、現在の座標軸にプロットします。現在の座標軸が地理座標軸ではない場合、または現在の座標軸がない場合は、関数は新しい地理座標軸にプロットします。

名前と値の引数

すべて折りたたむ

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

例: geodensityplot(lat,lon,FaceColor="g") は、密度プロットの面の色を緑色に設定します。

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

例: geodensityplot(lat,lon,"FaceColor","g") は、密度プロットの面の色を緑色に設定します。

メモ

名前と値の引数を使用して、この関数で作成された DensityPlot オブジェクトのプロパティの値を指定します。ここには一部のプロパティのみを示します。完全な一覧については、DensityPlot Properties を参照してください。

密度計算における影響の半径 (メートル)。数値スカラーとして指定します。

面の透明度。次の値のいずれかとして指定します。

  • 'interp' — 密度値に基づいて内挿された透明度を使用します。

  • 範囲 [0,1] のスカラー — すべての面にわたって均一な透明度を使用します。値 1 は不透明で、値 0 は完全に透明です。01 の間の値は半透明です。

密度プロットの外観は、FaceAlpha プロパティと FaceColor プロパティの両方に依存します。次の表に、FaceAlphaFaceColor のさまざまな組み合わせによるプロットの外観への効果を示します。

FaceColorFaceAlpha の値効果サンプル地理密度プロット
  • FaceAlpha"interp"

  • FaceColor が RGB 3 成分、16 進数カラー コード、色名、または省略名

密度プロットでは 1 つの色が使用され、透明度を変化させることで密度が示されます。

Density plot in blue with varying transparency

  • FaceAlpha"interp"

  • FaceColor"interp"

密度プロットでは、透明度と色を変化させることで密度が示されます。

Density plot with varying transparency and a colormap that starts at dark blue and transitions to light blue, bright green, orange, yellow, and dark red. The blue regions of the plot are almost completely transparent. The red regions of the plot are opaque.

  • FaceAlpha がスカラー値

  • FaceColor"interp"

密度プロットでは 1 つの透明度値が使用され、色を変化させることで密度が示されます。

Density plot with consistent opacity and a colormap that starts at dark blue and transitions to light blue, bright green, orange, yellow, and dark red. The opacity makes the density plot look like a rectangle.

密度プロットの透明度の制御の詳細については、Adjust Transparency of Geographic Density Plotsを参照してください。

面の色。次のオプションのいずれかとして指定します。

  • 'interp' — 密度値に基づいて内挿されたカラーリングを使用します。MATLAB® は、親座標軸のカラーマップから色を選択します。このオプションを選択すると、密度プロットの外観は FaceAlpha プロパティの値の影響も受けます。詳細については、FaceAlpha プロパティを参照してください。

  • RGB 3 成分、16 進数カラー コード、色名、または省略名 — 密度プロットに 1 つの色を適用します。このオプションを選択する場合、FaceAlpha の値は "interp" でなければなりません。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

ヒント

地理座標軸上でプロットする場合、関数 geodensityplot では、座標は WGS84 座標参照系を基準とすると仮定します。別の座標参照系を基準とする座標を使用してプロットすると、座標がずれて表示される可能性があります。

アルゴリズム

密度プロットは、透明度が変化する表面です。geodensityplot 関数は、指定された点から累積確率分布を計算し、点の密度に応じて透明度を変化させることで、表面を作成します。

既定では、各点は密度プロットに均等に寄与します。点に重みを付けると、関数は関連する点の密度プロットへの寄与度に重みを乗算します。

バージョン履歴

R2018b で導入

すべて展開する


1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.