Folium एक बहुत शक्तिशाली पायथन लाइब्रेरी है जो आपको कई प्रकार के लीफलेट मैप बनाने देती है। चूंकि लीफलेट/फोलियम मैप इंटरैक्टिव हैं, इसलिए वे डैशबोर्ड बिल्डिंग के लिए आदर्श हैं।
इंस्टॉलेशन
pip का उपयोग करके फोलियम इंस्टॉल करना बहुत आसान है -
$pip install folium
जैसा कि आप नीचे स्क्रीनशॉट से देख सकते हैं, आपको बस अपने कंसोल/कमांड में उपरोक्त कमांड टाइप करना होगा और pip आपके पायथन इंस्टॉलेशन के लिए फोलियम के साथ-साथ निर्भरताओं को इंस्टॉल करेगा।

बेसिक मैप
# लाइब्रेरी आयात करें
import folium
# पहले अक्षांश फिर देशांतर उपयोग करता है। और ज़ूम लेवल 4। ज़ूम नंबर जितना बड़ा, उतना करीब।
mapOBJ = folium.Map(location=[17.3616, 78.4747], zoom_start=4, tiles='Stamen Terrain')
# Map ऑब्जेक्ट की save मेथड, एक मैप बनाएगी
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 पायथन डेटा संरचनाओं (टपल्स, लिस्ट्स, डिक्ट्स, और Pandas DataFrames) को लेता है और उन्हें वेगा विज़ुअलाइज़ेशन ग्रामर में अनुवाद करता है।
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')
आउटपुट
