图中三角的点就是我们数据集中包含的数据点
添加图层
Folium 中的默认地图是 OpenStreetMap 。我们可以添加具有不同图层 , 例如 Stamen Terrain、Stamen Water Color、CartoDB Positron 等 , 得到不同的图层表示
使用 folium.TileLayer 将多个图层添加单个地图中 , 并使用folium.LayerControl以交互方式进行切换 。
m=folium.Map( location=[hosp_df[\"LATITUDE\"
.mean() hosp_df[\"LONGITUDE\"
.mean()
zoom_start=6)folium.TileLayer('cartodbdark_matter').add_to(m)folium.TileLayer('cartodbpositron').add_to(m)folium.TileLayer('Stamen Terrain').add_to(m)folium.TileLayer('Stamen Toner').add_to(m)folium.TileLayer('Stamen Water Color').add_to(m)folium.LayerControl().add_to(m)m
可以看到右上角出现了图层选择的按钮
生成地图标记
在交互式地图中 , 标记对于指定位置非常重要 。 folium.Marker可以在给定位置创建一个标记
m=folium.Map( location=[hosp_df[\"LATITUDE\"
.mean() hosp_df[\"LONGITUDE\"
.mean()
zoom_start=8)hosp_df.apply( lambda row: folium.Marker( location=[row['LATITUDE'
row['LONGITUDE'
).add_to(m) axis=1)m
自定义标记
也可以使用自定义标记
m=folium.Map( location=[hosp_df['LATITUDE'
.mean() hosp_df['LONGITUDE'
.mean()
zoom_start=8)def get_icon(status): if status == \"OPEN\": return folium.Icon(icon='heart' color='black' icon_color='#2ecc71' ) else: return folium.Icon(icon='glyphicon-off' color='red')hosp_df.apply( lambda row: folium.Marker( location=[row['LATITUDE'
row['LONGITUDE'
#color='red' popup=row['ADDRESS'
tooltip='<h5>Click here for more info</h5>' icon=get_icon(row['STATUS'
) ).add_to(m) axis=1)m
生成气泡图
为了表示地图上的数值 , 我们可以通过将圆半径与其在数据集中的值绑定来绘制不同大小的圆 。 在我们的例子中 , 我们用每个中心表示覆盖的人口 , 其半径与其population值成正比 。
m=folium.Map( location=[hosp_df['LATITUDE'
.mean() hosp_df['LONGITUDE'
.mean()
zoom_start=8)def get_radius(pop): return int(pop / 20)hosp_df.apply( lambda row: folium.CircleMarker( location=[row['LATITUDE'
row['LONGITUDE'
radius=get_radius(row['POPULATION'
) popup=row['ADDRESS'
tooltip='<h5>Click here for more info</h5>' stroke=True weight=1 color=\"#3186cc\" fill=True fill_color=\"#3186cc\" opacity=0.9 fill_opacity=0.25 ).add_to(m) axis=1)m
生成标记簇
在数据点密集地图上工作时 , 使用标记簇可以以避免许多附近标记相互重叠造成的混乱的情况 。Folium 提供了一种设置标记簇的简单方法 , 将它们添加到 folium.plugins.MarkerCluster 实例
m=folium.Map( location=[hosp_df['LATITUDE'
.mean() hosp_df['LONGITUDE'
.mean()
zoom_start=8)cluster = MarkerCluster(name=\"Hospitals\")def get_icon(status): if status == \"OPEN\": return folium.Icon(icon='heart' color='black' icon_color='#2ecc71' ) else: return folium.Icon(icon='glyphicon-off' color='red')hosp_df.apply( lambda row: folium.Marker( location=[row['LATITUDE'
- 三星|数据出炉,台积电狂赚5000亿,失去华为后,台积电为何越来越好?
- 数据库|裁剪视频画面的软件叫什么?视频画面裁切软件大分享
- AMD|不拼核战 intel第四代至强CPU如何稳住数据中心王座?
- 算法|手把手教你搭建数据指标体系
- 雨水情自动测报系统,水雨情远程监测系统-数据实时监测
- 算法|恒讯科技分析:如何解决云服务器上MySQL数据库的常见问题?
- ZOL科技早餐:英特尔6GHz睿频处理器上架,苹果新春电影《过五关》发布
- 社会机构|我国首个超大城市区块链基础设施支持数百亿条数据共享
- RTX 4080|1500元以下入门机型怎么推荐?权威机构数据来了
- excel|Excel如何将多个单元格数据保留并合并单元格