
File name
Commit message
Commit date
2023-06-14
from choropleth import choropleth_chart
from choropleth import plotly_fig2array
import plotly.graph_objects as go
import numpy as np
import geopandas as gpd
import pandas as pd
import cv2
def extract(lst, i):
return [item[i] for item in lst]
def is_what(source, compare):
if compare in source:
return True
else:
return False
shp = gpd.read_file('map/영천시 행정동.shp', encoding='utf-8')
shp = shp.sort_values('EMD_KOR_NM')
shp = shp.reset_index()
df = np.linspace(0,15,num=16)
address_book = pd.read_csv('data/영천시병원좌표.csv')
color = ["#45E646"] * len(address_book['lat'])
shape = ["circle"] * len(address_book['lat'])
size = [12] * len(address_book['lat'])
for i in range(len(color)):
name = address_book['병원명'][i]
if is_what(name, '보건소'):
color[i]="#FC5BC1"
elif is_what(name, '보건지소'):
color[i]="#9781DB"
elif is_what(name, '보건진료소'):
color[i]="#FC5B48"
elif is_what(name, '한의원'):
color[i]="#A85214"
elif is_what(name, '치과'):
color[i]="#94FFE8"
for i in range(len(color)):
emergency= address_book["업무구분"][i]
if is_what(emergency, '지역응급의료기관'):
shape[i] = 'star-diamond'
size[i] = 20
colorscale = [\
[0,'#FFEDCF'],
[0.33, '#F0CF2E'],
[0.57, '#F0FAA2'],
[1, '#F0CF2E']
]
fig = choropleth_chart(shp, df, '영천시 병원', 'figure/병원', geo_annot_scale=3000, colorscheme=colorscale, adaptive_legend_font_size=True, scale=5, save=False)
fig.add_trace(
go.Scattergeo(
lat=address_book['lat'], lon=address_book['lon'],
marker=dict(
size= size,
color= color,
opacity= 0.6,
symbol=shape
),
name="",
mode='markers',
text=address_book['병원명'],
)
)
fig.update(
layout_showlegend=True,
layout_coloraxis_showscale=False
)
scale = 4
fig.show()