如何解决jupyter上的大叶空白脉络图,可能是JSON格式问题
我一直在积极尝试找出为什么在尝试在大叶上生成Choropleth映射时在Jupyter笔记本上插入空白映射的原因。这也是我的第一篇帖子,因为我对编程还很陌生。
通过搜索在线资源,最常见的问题是不正确的key_on用法,但是我不认为是这种情况,它可能是与folium(epsg = 4326)相对的JSON格式不正确。
https://raw.githubusercontent.com/CyperPunk001/Immigration-to-CA-from-RSA/master/canada_provinces.geojson 这是我用于笔记本的github存储库中的JSON文件,我不确定这是什么格式?
Canada COVID 19 cases这是我在笔记本电脑上用于大叶的当前数据帧。
folium code for choropleth map这是我正在使用的当前小叶代码,用于生成活动COVID 19案例与省/地区的Choropleth映射。问题是我每次都会得到一张空白地图。
到目前为止,我已经尝试过:
-
导入Json并将我的数据框“ prname”列名称替换为实际的Json feature.properties.name省/地区名称。这不能解决我的问题。
-
检查“ name”,“ numactive”列的dtype是否正确,这是否可以解决? dtypes of dataframe
-
这使我看到也许我导入的JSON文件与大叶草格式不兼容,所以我尝试导入geopandas,或更确切地说是安装,但是可惜我也经常遇到导入错误。我没有运气就尝试了所有代码行。 geopandas conda install
当前的叶版本0.11.0
任何帮助将不胜感激。
解决方法
好问题。使用R和传单库完成此图。
.geojson文件没有问题。我将您的.geojson数据复制并粘贴到记事本文本编辑器中,然后以.geojson扩展名保存。已读取文件,并且已对文件进行了打印,没有出现问题(未显示)。
使用此.geojson文件,我从文件的@data插槽中名为“ name”的变量中创建了标签。我还从@data插槽中的X_2012_membership值创建了填充颜色。
我使用Jupyter Lab作为带有R内核的IDE。代码如下:
获取数据,探索数据:
int theDayindex=0;
String weekDay[]={"maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag","zondag"};
String theDaydisplay=weekDay[theDayindex];
theDaydisplay=weekDay[theDayindex];
theDayindex++;
if(theDayindex>=6){
theDayindex=0;
}
创建标签并填充颜色
dg <- rgdal::readOGR("C:/python/R_files/test/test.geojson")
# str(dg,max.level = 2)
head(dg@data,2)
head(dg@data$name,2)
绘制数据:
labs <- dg@data$name
fill_col <- colorFactor(topo.colors(5),unique(dg@data$X_2012_membership ))
链接上的图: Canada
,我设法解决了这个问题-好像是因为标题用双引号而不是单引号引起了,地图显示为空白。 简单更改后,地图将完美显示! 只是显示出像这样的细节遗漏会如何导致...
之前: 参见上面的叶代码示例。
之后:
m = folium.Map(location=[56.130,-106.35],zoom_start=3.5,tiles = "Mapbox Bright")
m.choropleth(
geo_data=world_geo,name='choropleth',data=can_cov_yes_df,columns=['name','numactive'],key_on='feature.properties.name',fill_color='YlOrRd',threshold_scale=threshold_scale,fill_opacity=0.7,line_opacity=0.2,legend_name='Active Cases in Canadadian provinces'
)
folium.LayerControl().add_to(m)
m
现在地图显示:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。