我很难为巴西国家做一个等值线图 我使用folium库进行如下操作:
import folium
import json
with open('br-states.json') as json_data:
d = json.load(json_data)
m = folium.Map(
location=[-18.826592, -55.212558],
zoom_start=4,
tiles='OpenStreetMap')
m.choropleth(
geo_data=d,
name='choropleth',
data=new_data,
columns=['State', 'QTY'],
key_on='feature.id',
fill_color='YlGn',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Unemployment Rate (%)'
)
folium.LayerControl().add_to(m)
m
我的数据称为new_data
我不知道代码是否存在问题,或者我的json
文件有br-state
存在问题(可能与此文件的autor使用的坐标有关)
我得到地图但是地图没有转向等值地图
任何建议都将受到高度赞赏
答案 0 :(得分:0)
我正在使用以下JSON文件:https://github.com/datalivre/Conjunto-de-Dados/blob/master/br_states.json 看一下代码,它与您的代码有些不同。您无需将JSON文件转换为字典。这是我得到的结果的图像。 folium br_states
import folium
import pandas as pd
new_data = pd.read_excel('new_data.xlsx')
state_geo = 'br_states.json'
mapa = folium.Map(
location=[-15.77972, -47.92972],
zoom_start=3
)
folium.Choropleth(
geo_data=state_geo,
name='Estados QTY',
data=new_data,
columns=['State','QTY'],
key_on='feature.id',
fill_color='YlOrBr',
fill_opacity=0.7,
line_opacity=0.1,
legend_name='Insert legend'
).add_to(mapa)
folium.LayerControl().add_to(mapa)
mapa.save('index.html')
mapa