地価公示(ポイント)の大きさを変えることにより,地価が高い箇所を強調表現(地価が低い箇所は抑制表現).ポイントはバブル(泡)と言い換えられ,バブルを使った図はバブルチャートとよばれる.地図の場合はバブルマップとよぶ.
パッケージ: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による地理空間データの可視化