【发布时间】:2021-02-19 17:51:44
【问题描述】:
我正在按照本指南从 Folium 绘制等值线图: https://notebook.community/python-visualization/folium/examples/GeoJSON_and_choropleth
from branca.colormap import linear
colormap = linear.OrRd_03.scale(
ecuador['Confirmed cases'].min(),
ecuador['Confirmed cases'].max())
ecuador_dict=ecuador.set_index('Provinces')['Confirmed cases']
fec_map= folium.Map(zoom_start=6, tiles="OpenStreetMap", control_scale=True, location=[latitude_ec, longitude_ec])
folium.GeoJson(geojson_ec,
name='Confirmed cases',
style_function=lambda feature: {
'fillColor'= colormap(ecuador_dict[features['properties.dpa_despro']]),
'color': 'black',
'weight': 2,
'dashArray': '5, 5'}
).add_to(fec_map)
fec_map
GeoJSON:
geojson_ec = {'type': 'FeatureCollection',
'features': [{'type': 'Feature',
'properties': {'id_prov': 1,
'dpa_provin': '01',
'dpa_despro': 'AZUAY',
'dpa_valor': 0,
'dpa_anio': '2012',
'rei_codigo': '05',
'ren_codigo': '01',
'pee_codigo': '593',
'codigo': 1,
'codigo_1': 1,
'nombre': 'AZUAY',
'pob_mas': 337044,
'pob_fem': 375083,
'pob_tot': 712127,
'si_lee': 591470,
'no_lee': 51920,
'total': 643390,
'analfabeti': 6.7,
'promedio_e': 9.01,
'pobres_nbi': 338073,
'no_pobres': 361875,
'pob_nopob_': 699948,
'densidad': 85.7,
'edad_media': 28.85,
'cartodb_id': 1,
'created_at': '2015-04-20T23:35:12Z',
'updated_at': '2015-04-21T16:01:08Z',
}}]}
但是,我收到此错误:
File "<ipython-input-131-1cdbb903e2f9>", line 7
'fillColor'= colormap(ecuador_dict[features['properties.dpa_despro']]),
^
SyntaxError: invalid syntax
请帮助我理解指南并设置正确的颜色图。
变量:
ecuador_dict=
Provinces
AZUAY 10788.0
BOLÍVAR 2120.0
CARCHI 3080.0
CAÑAR 2165.0
CHIMBORAZO 2560.0
COTOPAXI 4612.0
EL ORO 6497.0
ESMERALDAS 4324.0
GALÁPAGOS 228.0
GUAYAS 22588.0
IMBABURA 4816.0
LOJA 6375.0
LOS RÍOS 4041.0
MANABÍ 11464.0
MORONA SANTIAGO 3015.0
NAPO 1447.0
ORELLANA 1972.0
PASTAZA 2276.0
PICHINCHA 60494.0
SANTA ELENA 1796.0
SANTO DOMINGO DE LOS TSÁCHILAS 5322.0
SUCUMBÍOS 2778.0
TUNGURAHUA 6168.0
ZAMORA CHINCHIPE 1582.0
Name: Confirmed cases, dtype: float64
<class 'pandas.core.series.Series'>
10788.0
由-r-beginners提出的解决方案:
fec_map= folium.Map(zoom_start=6, tiles="OpenStreetMap", control_scale=True, location=[latitude_ec, longitude_ec])
folium.GeoJson(geojson_ec,
name='Confirmed cases',
style_function=lambda feature: {
'fillColor'= ecuador_dict[feature['properties']['dpa_despro']],
'color': 'black',
'weight': 2,
'dashArray': '5, 5'}
).add_to(fec_map)
fec_map
结果:
文件“”,第 5 行 'fillColor'= ecuador_dict[特征['properties']['dpa_despro']], ^ SyntaxError: 无效语法
【问题讨论】:
-
要解决错误,请尝试像这样修复它。
style_function=lambda feature: {'fillColor': colormap(ecuador_dict[feature['properties']['dpa_despro']] -
不工作:文件“
”,第 5 行 'fillColor'= colormap(ecuador_dict[feature['properties']['dpa_despro']]),^ SyntaxError : 无效语法 -
cmets 中显示的更正已根据您的问题中提供的数据进行并运行。该问题已使用更正的数据进行了更新。尝试使用更正的代码运行它。如果我的更正不正确,请纠正我。
-
我添加到运行和显示我的错误。我不喜欢r-beginners。请帮帮我。
-
有几个问题:首先,geojson 数据指定不正确。第二个是
ecuador_dict得到了值,第三个是即使你得到了填充颜色,代表'AZUAY'区域的多边形数据不在'geojson'中。
标签: pandas geojson colormap choropleth