使用Folium生成热力图时报TypeError: 'module' object is not callable求助
问题修复说明
1 报错根因定位
你触发的TypeError: 'module' object is not callable报错,是因为调用folium生成地图实例时的拼写错误:
- folium中用于创建地图实例的类是
folium.Map(首字母M大写) - 你写的
folium.map是folium内置的子模块,不是可调用的构造类,所以直接调用会报错
2 额外隐藏问题修复
你定义坐标数据集mydata时使用了大括号{},这是Python的集合类型,存在两个问题:
- 集合要求元素必须是可哈希类型,列表属于不可哈希类型,运行到HeatMap传参时会触发新的报错
- HeatMap要求传入的坐标数据为二维列表结构,需要把外层的大括号替换为方括号
[]
3 修复后完整代码
import folium from folium.plugins import HeatMap # 生成地图实例,Map首字母大写 myheatmap = folium.Map(location=[48.774037, 9.174388], zoom_start=6) # 二维列表结构存储坐标+权重数据 mydata = [ [48.774037, 9.174388, 0.1], [48.656556, 8.940168, 0.05] ] HeatMap(mydata).add_to(myheatmap) # 导出为html文件即可查看热力图效果 myheatmap.save("heatmap.html")
内容的提问来源于stack exchange,提问作者Emma
相关产品推荐
相关产品推荐

