我有一个问题,我的Choropleth贴图无法正确渲染。
我有很多关于芝加哥市的乘车信息,我想按人口普查区创建一个地图。我检查key_on
了geojson文件中的功能是否为“ geoid10”,并确保了“拾取人口普查记录”都匹配。
我还确保geojson文件和数据框中的键的数据类型相同(它们都是对象)
但是,我的Choropleth贴图呈现的是黑色/灰色调,而不是正确调调的贴图。
这是我的代码:
# Import packages
import pandas as pd
import geopandas as gpd
import folium
# Load in GeoJSON file, because works with Folium
geosjon_file = "Boundaries - Census Tracts - 2010.geojson"
chicago_census_tracts = gpd.read_file(geosjon_file)
# Pickup by census tract
pickup_by_censustract = pd.read_csv("pickup_demand_by_censustract_test.csv")
# Convert Pickup Census Tract to dtype: object, as key_on object in geosjon_file is also an dtype: object
pickup_by_censustract["Pickup Census Tract"].astype(str)
# Creating Chicago map with Folium
chicago_map = folium.Map(
location=[41.881832, -87.623177],
zoom_start=9)
#folium.TileLayer("CartoDB positron", name="Light Map", control=False).add_to(chicago_map)
# Overlaying Chicago map with bounderies of census tracts
folium.GeoJson(chicago_census_tracts).add_to(chicago_map)
# Creating Choropleth
folium.Choropleth(
geo_data=chicago_census_tracts,
name="choropleth",
data=pickup_by_censustract,
columns=["Pickup Census Tract", "Count"],
key_on="feature.properties.geoid10",
fill_color="YlGn",
fill_opacity=0.7,
line_opacity=0.2,
legend_name="Ride-hailing demand"
).add_to(chicago_map)
folium.LayerControl().add_to(chicago_map)
chicago_map
这是我的Jupyter Notebook中的当前输出:
尽管我相信我已将key_on功能与数据帧正确匹配,但我仍然认为问题仍然出在将geojson文件与数据帧正确匹配。
请在此处找到代码,数据和geojson文件:https : //github.com/Doncorleone1018/Chicago-choropleth
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句