大家好,我是小寒。
https://github.com/python-visualization/folium
pip install folium
import folium
folium.Map(location=[48.130518, 11.5364172], zoom_start=12)
这将自动生成交互式地图,并将其输出到 jupyter 笔记本,你可以在其中与其交互。
尽管这已经非常令人兴奋,但我们并没有对此做任何特别的事情。
我们可以添加到地图中的一项基本功能是能够标记地点以便轻松找到它们,或者突出显示重要信息。
首先我们创建一个地图对象,然后我们还创建一个标记对象。
标记对象是通过将坐标传递给点来创建的,当有人单击标记时我们希望在弹出窗口上显示什么,以及标记的工具提示和其他选项。
为了渲染一些可视化效果,我们需要一些数据,所以让我们先获取这些数据。
import json
import requests
url = (
'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data'
)
data = json.loads(requests.get(f'{url}/vis1.json').text)
m = folium.Map(location=[48.218871184761596, 11.624819877497147], zoom_start=15, tiles='Stamen Terrain')
marker = folium.Marker(
location=[48.218871184761596, 11.624819877497147],
popup=folium.Popup(max_width=450).add_child(
folium.Vega(data, width=450, height=250)
),
)
marker.add_to(m)
m
让我们以芝加哥市的自行车站为例。
stations_url = 'https://gbfs.divvybikes.com/gbfs/en/station_information.json'
stations = json.loads(requests.get(stations_url).text)['data']['stations']
stations = pd.json_normalize(stations)
stations = stations[['lat', 'lon']]
stations.head()
现在,每一行代表一组放置自行车站的坐标(纬度和经度)。
from folium import plugins
m = folium.Map([41.8781, -87.6298], zoom_start=11)
# convert to (n, 2) nd-array format for heatmap
stationArr = stations.values
# plot heatmap
m.add_child(plugins.HeatMap(stationArr, radius=15))
m
—
联系客服