地価公示(ポイント)の大きさを変えることにより,地価が高い箇所を強調表現(地価が低い箇所は抑制表現).ポイントはバブル(泡)と言い換えられ,バブルを使った図はバブルチャートとよばれる.地図の場合はバブルマップとよぶ.
パッケージ:sf,tidyverse
ポイントデータによる地価の可視化で作成した図3:神奈川県地価(2022年)を再現.
シェープファイルのダウンロード
国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 神奈川県 > 令和3年
国土数値情報ダウンロードサービス > 地価公示(ポイント) > 神奈川県 > 「神奈川県」データのダウンロード > 世界測地系 令和4年
read_sf):行政区域のオブジェクト名をKanagawa_map,地価公示のオブジェクト名をKanagawa_lpとする.Kanagawa_map<-
read_sf('N03-20210101_14_GML/N03-21_14_210101.shp')
Kanagawa_lp<-read_sf('L01-22_14_GML/L01-22_14.shp')データのソート
地価(L01_006)が高いポイントの色が上にくるよう順番を変更(arrange).
Kanagawa_lpのまま.再現図形
my_breaks <- c(50, 100, 200, 400)
#神奈川県地価の可視化
ggplot()+
geom_sf(data=Kanagawa_map, fill="white")+
geom_sf(data=subset(Kanagawa_lp, L01_006/10000>=25),
aes(color=L01_006/10000),
size=0.9)+
scale_color_viridis_b(option="G", direction=-1,
trans="log10",
breaks=my_breaks)+
geom_sf(data=Kanagawa_map, fill="NA")+
labs(color="万円/㎡",
caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
ggtitle("神奈川県地価(2022年)")+
theme_bw()地価公示ポイント(バブル)の大きさを変えるために,aes(size)を利用する.これを活かすために,地価公示ポイント(x軸が経度,y軸が緯度)の変数を作成.
geometryにすでに納められている.
select():列の抽出.Kanagawa_lp1)を変更して,head()で中身を確認.| geometry |
|---|
| POINT (139.6507 35.20473) |
| POINT (139.2251 35.41038) |
| POINT (139.1146 35.25959) |
| POINT (139.3062 35.46262) |
| POINT (139.247 35.3452) |
| POINT (139.4259 35.40653) |
st_coordinates():座標を取得するように指示.ここでは,括弧内の1番目の数値(経度)をx,2番目の数値(緯度)をyとするように指示.Kanagawa_lpのまま.select()を用いて必要な列の抽出.Kanagawa_lp2)を変更して,head()で中身を確認.#もとのデータで作業
Kanagawa_lp <- Kanagawa_lp %>%
mutate(x=st_coordinates(geometry)[, 1],
y=st_coordinates(geometry)[, 2])
#geometry,緯度経度の抽出,データ名変更
Kanagawa_lp2 <-
Kanagawa_lp %>%
select(geometry, x, y)
#最初の6行
Kanagawa_lp2 %>%
head()| geometry | x | y |
|---|---|---|
| POINT (139.6507 35.20473) | 139.6507 | 35.20473 |
| POINT (139.2251 35.41038) | 139.2251 | 35.41038 |
| POINT (139.1146 35.25959) | 139.1146 | 35.25959 |
| POINT (139.3062 35.46262) | 139.3062 | 35.46262 |
| POINT (139.247 35.3452) | 139.2470 | 35.34520 |
| POINT (139.4259 35.40653) | 139.4259 | 35.40653 |
aes(x=x, y=y):x軸を↑で作成したxの値を,y軸を↑で作成したyの値を使うように指示.これにより,泡(地価ポイント)の位置(緯度経度)が確定する.aes(color=, size=)で泡(地価ポイント)の色(color)と大きさ(size)を指示.
aes(size=L01_006/10000):泡(地価ポイント)の大きさを2022年の地価(L01_006)の高低で表現できるようにに指示.L01_006を1万(10000)で割る.alphaで泡の色の透明度を調整.guide="legend":凡例を制御.指示しない場合,colorとsizeの凡例が別々に表現される.scale_size_area(max_size=7)で泡の大きさの最大値を指示.x="",y=""を記すことで,x軸とy軸のラベル削除.my_breaks <- c(50, 100, 200, 400, 800, 1600)
#神奈川県地価の可視化
ggplot()+
geom_sf(data=Kanagawa_map, fill="white")+
geom_point(data=subset(Kanagawa_lp, L01_006/10000>=25),
aes(x=x, y=y,
color=L01_006/10000,
size=L01_006/10000),
alpha=0.75)+
scale_color_viridis_b(option="G", direction=-1,
trans="log10",
breaks=my_breaks,
guide="legend")+
scale_size_area(max_size=7,
breaks=my_breaks)+
geom_sf(data=Kanagawa_map, fill="NA")+
labs(color="万円/㎡", size="万円/㎡",
x="", y="",
caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
ggtitle("神奈川県地価(2022年)")+
theme_bw()神奈川県の行政区域データ及び地価公示データから川崎市だけを抜き出し,可視化.
N03_003から川崎市を識別.L01_022に川崎市の行政区域のコード(14131~14137)が示されている.my_breaks <- c(50, 100, 200, 400)
#川崎市地価の可視化
ggplot()+
geom_sf(data=subset(Kanagawa_map, N03_003=="川崎市"),
fill="white")+
geom_point(data=subset(Kanagawa_lp, L01_006/10000>=25 &
L01_022>=14131 & L01_022<=14137),
aes(x=x, y=y,
color=L01_006/10000,
size=L01_006/10000),
alpha=0.75)+
scale_color_viridis_b(option="G", direction=-1,
trans="log10",
breaks=my_breaks,
guide="legend")+
scale_size_area(max_size=6,
breaks=my_breaks)+
geom_sf(data=subset(Kanagawa_map, N03_003=="川崎市"),
fill="NA")+
labs(color="万円/㎡", size="万円/㎡",
caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
ggtitle("川崎市地価(2022年)")+
theme_void()参考ウェブサイト
Rによる地理空間データの可視化