IT

[Python]県庁所在地別の人口でマーカーを色分け

0 0 投票数
評価

練習ファイル

コード

import folium
import pandas

data = pandas.read_csv("Pop_latlon.txt")
# >>> data.columns
# >>> Index(['都道府県名', '市区名', '緯度', '経度', '人口'], dtype='object')

prefecture = list(data["都道府県名"])
pre_capital = list(data["市区名"])
lat = list(data["緯度"])
lon = list(data["経度"])
pop = list(data["人口"])

html = """
<a target="_blank">%sの県庁所在地</a><br>
%sの人口: %s 万人
"""

def color_producer(population):
    if population >= 1500000:
        return 'red'
    elif 1500000 > population >= 1000000:
        return 'orange'
    else:
        return 'green'

map = folium.Map(location=[35.684, 139.752], zoom_start=5, title="Stamen Terrain")
fg = folium.FeatureGroup(name="日本県庁所在地別人口")

for lt, ln, pop, pref, cap in zip(lat, lon, pop, prefecture, pre_capital):
    iframe = folium.IFrame(html=html % (pref, cap, pop), width=250, height=50)
    fg.add_child(folium.Marker(location=[lt, ln], popup=folium.Popup(iframe), icon=folium.Icon(color_producer(pop))))

map.add_child(fg)
map.save("Map.html")

guest
0 コメント
Inline Feedbacks
すべてのコメントを見る