반응형
Introduction
geoplot을 하기 위해선 우선 geo 관련 json파일이 필요한데, 이는 구글링을 통해 어렵지 않게 받을수 있다.
받은 뒤에, plotting을 하기 위해선 여러 툴이 있다.
Features
-folium을 이용하면 json없이 바로 png나 html로 플로팅을 할 수 있는데 matplotlib와 호환이 잘 되지 않기 때문에, 마음대로 custom하기가 어려움
- 이를 위해 geopandas를 사용하면 매우 쉽게 됨
- geopandas는 데이터를 DataFrame 형태로 불러오게 됨
- 각 row별로 plotting할 수 있고, color custom도 matplotlib와 함께 만지기 쉬움
Installation
# in jupyter notebook
!pip install geopandas
Usage
import pandas as pd
import numpy as np
import geopandas as gpd
import matplotlib.pyplot as plt
# data import
df_places = gpd.read_file('./OPENAPI/Data/skorea-provinces-2018-geo.json') # change json file location
# example plotting
df_places.plot() # plot all rows
df_places['geometry'][0] # plot specific row(s)
df_places.plot(column='code', cmap='afmhot') # the column 'code' is values for colormap
# example plotting2
# plt.figure(figsize=(24,6))
df_places.plot()
# figsize는 안통하고, dpi는 먹히고, 가로세로 비율은 알아서 정해짐. bbox_inches는 넣는게 쓸데없는 여백 사라짐
plt.scatter([128, 130],[36, 36], s=[50, 100]
# , c='r'
, color="None", edgecolor='r')
plt.legend()
plt.savefig('./Output/temp.png', format='png'
, dpi=320
, bbox_inches='tight'
)
반응형
'Programing Language > Python' 카테고리의 다른 글
[plot]gridspec: subplots 업그레이드 버전 (0) | 2020.04.16 |
---|---|
[plot]scatter legend: Automated legend creation (0) | 2020.04.16 |
웹 통신에서 한글 깨짐 처리 %EA, utf-8 (0) | 2019.11.19 |
log scale fitting (0) | 2019.06.05 |
[PyPy] 설치 및 사용법 (0) | 2018.09.27 |