始める無料で始める

インターネット接続のある世帯の比例シンボルマップ

生データのカウント変数を地図化するには、データ値に比例した大きさのマーカーを置く比例シンボルマップが有効です。この演習では、各州の重心(centroid)を求め、州のベースマップを作成し、各重心にインターネット接続のある世帯数に応じてサイズを変えた円を配置します。

各マーカーの「面積」がデータ値に比例する必要があります。マーカーサイズは直径として指定するため、列の値の平方根を取らなければなりません。マーカーが大きすぎたり小さすぎたり見えることがあります。この演習では、見た目を整える判断としてマーカーサイズを 5 で割ります。

geopandas は通常のエイリアスでインポート済みで、numpy から sqrt 関数もインポートされています。

geo_state GeoDataFrame は読み込み済みです。

この演習はコースの一部です

Pythonで学ぶ米国センサスデータ分析

コースを見る

演習の手順

  • geo_state_ptcentroid 属性を呼び出し、その結果を geometry 列に代入します
  • geo_stateplot メソッドを呼び出して州境のベースマップを作成し、color"tan"edgecolor"black" に設定します
  • 変数 msmarkersize パラメータに渡します)を、geo_state_pt["internet"] 列の値の平方根を 5 で割ったものに設定します

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create point GeoDataFrame at centroid of states
geo_state_pt = geo_state.copy()
geo_state_pt["geometry"] = ____

# Set basemap and create variable for markersize
basemap = ____
ms = ____

# Plot proportional symbols on top of basemap
geo_state_pt.plot(ax = basemap, markersize = ms, color = "lightgray", edgecolor = "darkgray")
plt.show()
コードを編集して実行