gpt4 book ai didi

python - 如何将 GeoJsonTooltip 添加到 folium 中的 folium.Choropleth 类?

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:07 25 4
gpt4 key购买 nike

我有两个 choropleth 层,我想在其中添加 GeoJsonTooltip,但我一直收到错误 TypeError: __init__() missing 1 required positional argument: 'text'

我目前的代码如下。

import folium
import pandas as pd
import json

df_theft = pd.read_csv('PA_Theft.csv')
df_assualt = pd.read_csv('PA_Assualt.csv')

theft_json = json.load(open('theft_geojson.json'))
assualt_json = json.load(open('assualt_geojson.json'))

m = folium.Map(location=[41.20, -77.50], tiles="cartodbdark_matter", zoom_start=8.3)

theft = folium.Choropleth(
geo_data=theft_json,
data=df_theft,
columns=['county_name', 'rate'],
key_on='feature.properties.county_name',
fill_color='OrRd',
fill_opacity=0.9,
nan_fill_color='#ffffff',
nan_fill_opacity=0.9,
legend_name='Incident rate per 100,000 people',
highlight=True,
name='Theft'
).add_to(m)

folium.GeoJson(
theft_json,
tooltip=folium.features.Tooltip(fields=['feature.properties.county_name'])
).add_to(theft)

assualt = folium.Choropleth(
geo_data=assualt_json,
data=df_assualt,
columns=['county_name', 'rate'],
key_on='feature.properties.county_name',
fill_color='OrRd',
fill_opacity=0.9,
nan_fill_color='#ffffff',
nan_fill_opacity=0.9,
legend_name='Incident rate per 100,000 people',
highlight=True,
name='Assualt'
).add_to(m)

folium.GeoJson(
assualt_json,
tooltip=folium.features.Tooltip(fields=['feature.properties.county_name'])
).add_to(assualt)


folium.LayerControl().add_to(m)
m.save('Crime_Map.html')

print('Map created.')

我正在寻找的最终结果是,当用户将鼠标悬停在宾夕法尼亚州的每个县上时,工具提示弹出窗口将被激活,并显示来自 geoJSON 的以下信息。

示例 geojson

  "properties": {
"county_name": "ADAMS",
"incident": "Theft",
"arrests": 24,
"incident_count": 51,
"incident_total": 75,
"population": 102336,
"rate": 73.2879924953096
}

最佳答案

两件事:

  • 您需要使用 GeoJsonTooltip 类来使用 geojson 字段。常规 Tooltip 类仅适用于简单文本。那就是你得到的错误。
  • 您可以将 GeoJsonTooltip 传递给 Choropleth 在后台创建的 GeoJson 对象:GeoJsonTooltip(... .).add_to(theft.geojson)

关于python - 如何将 GeoJsonTooltip 添加到 folium 中的 folium.Choropleth 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55088688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com