如何利用 folium 軟體包繪製 Google 地圖?
Folium 是一個非常強大的 Python 庫,可讓你建立多種小冊子地圖。由於小冊子/folium 地圖是互動式的,因此它們非常適合製作儀表板。
安裝
使用 pip 安裝 folium 非常容易−
$pip install folium
就像你從下面的螢幕截圖中看到的,你只需要在控制檯/cmd 中輸入上面的命令,pip 就會安裝 folium 以及 Python 安裝所需的依賴項。

基本地圖
#Import library
import folium
#Uses lat then lon. & zoomlevel 4.The bigger the zoom number, the closer in you get.
mapOBJ = folium.Map(location=[17.3616, 78.4747], zoom_start = 4, tiles = 'Stamen Terrain')
# save method of Map object, will create a map
mapOBJ.save('map2.html')輸出

案例 2:GeoJson
import folium
import os
from folium import features
import numpy as np
import pandas as pd
N = 1000
lons = +5 - np.random.normal(size=N)
lats = 48 - np.random.normal(size=N)
data = {
'type': 'FeatureCollection',
'features': [
{
'type': 'Feature',
'geometry': {
'type': 'MultiPoint',
'coordinates': [[lon, lat] for (lat, lon) in zip(lats, lons)],
},
'properties': {'prop0': 'value0'}
},
],
}
m = folium.Map([17.3616, 78.4747], zoom_start = 10)
m.add_child(features.GeoJson(data))
m.save('Features.html')輸出

案例 3:標記、圖示、彈出視窗
import folium
from folium import features
m = folium.Map([17.3616, 78.4747], zoom_start = 15)
mk = features.Marker([17.3616, 78.4747])
pp = folium.Popup('Charminar')
ic = features.Icon(color='red')
mk.add_child(ic)
mk.add_child(pp)
m.add_child(mk)
m.save('Features_1.html')輸出

案例 4
我使用了一個新的庫 - vincent,Vincent 獲取 Python 資料結構(元組、列表、字典和 Pandas 資料幀)並將它們轉換為 Vega 視覺化語法。
使用 pip,安裝 vincent 非常容易。
$pip install vincent
C:\WINDOWS\system32>pip install vincent Collecting vincent Downloading https://files.pythonhosted.org/packages/11/bf/a12ecaa21a2e376a16de67e09f64a38a4acd95e04e5dc35ad2f13a6f0bfd/vincent-0.4.4.tar.gz Requirement already satisfied: pandas in c:\python\python361\lib\site-packages (from vincent) (0.20.2) Requirement already satisfied: pytz >= 2011k in c:\python\python361\lib\site-packages (from pandas -> vincent) (2017.2) Requirement already satisfied: python-dateutil >= 2 in c:\python\python361\lib\site-packages (from pandas -> vincent) (2.6.0) Requirement already satisfied: numpy >= 1.7.0 in c:\python\python361\lib\site-packages (from pandas -> vincent) (1.16.0) Requirement already satisfied: six >= 1.5 in c:\python\python361\lib\site-packages (from python-dateutil >= 2 -> pandas -> vincent) (1.10.0) Building wheels for collected packages: vincent Running setup.py bdist_wheel for vincent ... done Stored in directory: C:\Users\rajesh\AppData\Local\pip\Cache\wheels\4c\0d\8a\65f34c765c6094a71cce3e42a49a26533eef61695e9b505f03 Successfully built vincent Installing collected packages: vincent Successfully installed vincent-0.4.4
import folium
from folium import features
import numpy as np
import json
import vincent
N = 100
multi_iter2 = {
'x': np.random.uniform(size=(N,)),
'y': np.random.uniform(size=(N,)),
}
scatter = vincent.Scatter(multi_iter2, iter_idx='x', height=100, width=200)
data = json.loads(scatter.to_json())
m = folium.Map([17.3616, 78.4747], zoom_start=10)
mk = features.Marker([17.3616, 78.4747])
p = folium.Popup('Charminar')
v = features.Vega(data, width='100%', height='100%')
mk.add_child(p)
p.add_child(v)
m.add_child(mk)
m.save('Features_2.html')輸出

廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
javascript
PHP