Python 正常';def&x27;函数而不是lambda
下面的代码生成一个web地图,地图上的国家按人口着色,其值来自world.jsonPython 正常';def&x27;函数而不是lambda,python,lambda,folium,Python,Lambda,Folium,下面的代码生成一个web地图,地图上的国家按人口着色,其值来自world.json import folium map=folium.Map(location=[30,30],tiles='Stamen Terrain') map.add_child(folium.GeoJson(data=open('world.json', encoding='utf-8-sig'), name="Unemployment", style_function=lambda x: {'fillColor':'
import folium
map=folium.Map(location=[30,30],tiles='Stamen Terrain')
map.add_child(folium.GeoJson(data=open('world.json', encoding='utf-8-sig'),
name="Unemployment",
style_function=lambda x: {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))
map.save('file.html')
但是,我想不出如何在
style\u函数中使用它。这是可能的还是lambda函数在这里是不可替代的?可以用如下函数替换style\u函数
lambda:
def style_function(x):
return {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))
style_函数
lambda可替换为以下函数:
def style_function(x):
return {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))
如果我理解正确,您需要创建如下函数(x
是geojson):
def my_style_函数(x):
颜色=“”
如果x['properties']['POP2005']如果我理解正确,您需要创建类似于此的函数(x
是geojson):
def my_style_函数(x):
颜色=“”
如果x['properties']['POP2005']是指style\u function=feature
,还是仅def style\u function
而不是def feature
?style_函数
在哪里使用?另外-您真的希望每次调用该函数时打开并加载json文件吗?当然-您想做一次该部分,然后使用该函数获取x
的样式,不管是什么…您的意思是style\u function=feature
?还是仅仅def style\u function
,而不是def feature
?style_函数
在哪里使用?另外-您真的希望每次调用该函数时打开并加载json文件吗?当然-您想做一次这部分,然后使用该函数获取x
的样式,不管是什么…style\u函数被用作GeoJson
ohhh的kwarg
,您是对的。格式没有说清楚,谢谢你指出。style_函数
被用作GeoJson的kwarg
,你说得对。格式没说清楚,谢谢你指出。
folium.GeoJson(
data=...,
name=...,
style_function=style_function
)