我很难做巴西国家Im的等值线图使用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使用的坐标有关)
我得到了地图,但是地图没有转向等值线图
任何建议都将受到高度赞赏
我正在使用这个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