In [1]:
import pandas 
import folium

In [2]:
df=pandas.read_csv("/Users/yiling10/Downloads/TestData.csv")

In [3]:
map=folium.Map(location=[df['LAT'].mean(),df['LON'].mean()],zoom_start=6,tiles='Mapbox bright')
def Color(name):
    if name =='C1' :
        col='green'
    elif name == 'C2' :
        col='orange'
    else:
        col='red'
    return col

#html="""
 #Address: {}<br>
# Bikes available: {}<br>
 #Docks: {}<br>
#"""
#html2 = html.format(lat,lon,name)




#test = folium.Html(folium.Popup(name), script=True)
#Popup = folium.Popup(test, max_width=2650)

html="""
LAT: {}<br>
LON: {}<br>
CAT: {}<br>
    """

fg=folium.FeatureGroup(name="NUM")
for lat,lon,name,num in zip(df['LAT'],df['LON'],df['CAT'],df['NUM']):
    html = html.format(lat,lon,name)
    test = folium.IFrame(html, width=150, height=150)
    fg.add_child(folium.CircleMarker(location=[lat,lon],popup=(folium.Popup(test)),radius=num/10,color=Color(name),fill_color=Color(name)))
map.add_child(fg)

fh=folium.FeatureGroup(name="PUB")
for lat,lon,name,num2 in zip(df['LAT'],df['LON'],df['CAT'],df['PUB']):
    fh.add_child(folium.RegularPolygonMarker(location=[lat,lon],popup=(folium.Popup(name)),radius=num2/10,color=Color(name),fill_color=Color(name),number_of_sides=3))
map.add_child(fh)

fk=folium.FeatureGroup(name="CON")
for lat,lon,name,num3 in zip(df['LAT'],df['LON'],df['CAT'],df['CON']):
    fk.add_child(folium.RegularPolygonMarker(location=[lat,lon],popup=(folium.Popup(name)),radius=num3/30,color=Color(name),fill_color=Color(name),number_of_sides=4))
map.add_child(fk)

map.add_child(folium.GeoJson(data=open('/Users/yiling10/Downloads/world_geojson_from_ogr.json'),
name="Population",
style_function=lambda x: {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))
map.add_child(folium.LayerControl())


Out[3]:

In [4]:
map=folium.Map(location=[df['LAT'].mean(),df['LON'].mean()],zoom_start=6,tiles='Mapbox bright')
def Color(name):
    if name =='C1' :
        col='green'
    elif name == 'C2' :
        col='orange'
    else:
        col='red'
    return col

#html="""
 #Address: {}<br>
# Bikes available: {}<br>
 #Docks: {}<br>
#"""
#html2 = html.format(lat,lon,name)




#test = folium.Html(folium.Popup(name), script=True)
#Popup = folium.Popup(test, max_width=2650)

html="""
LAT: {}<br>
LON: {}<br>
CAT: {}<br>
    """

fg=folium.FeatureGroup(name="NUM")
for lat,lon,name,num in zip(df['LAT'],df['LON'],df['CAT'],df['NUM']):
    html = html.format(lat,lon,name)
    test = folium.IFrame(html, width=150, height=150)
    fg.add_child(folium.CircleMarker(location=[lat,lon],popup=(folium.Popup(test)),radius=num/10,color=Color(name),fill_color=Color(name)))
map.add_child(fg)

fh=folium.FeatureGroup(name="PUB")
for lat,lon,name,num2 in zip(df['LAT'],df['LON'],df['CAT'],df['PUB']):
    fh.add_child(folium.RegularPolygonMarker(location=[lat,lon],popup=(folium.Popup(name)),radius=num2/10,color=Color(name),fill_color=Color(name),number_of_sides=3))
map.add_child(fh)

fk=folium.FeatureGroup(name="CON")
for lat,lon,name,num3 in zip(df['LAT'],df['LON'],df['CAT'],df['CON']):
    fk.add_child(folium.RegularPolygonMarker(location=[lat,lon],popup=(folium.Popup(name)),radius=num3/30,color=Color(name),fill_color=Color(name),number_of_sides=4))
map.add_child(fk)

map.add_child(folium.GeoJson(data=open('/Users/yiling10/Downloads/world_geojson_from_ogr.json'),
name="Population",
style_function=lambda x: {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))
map.add_child(folium.LayerControl())
map.save(outfile='part3map_2.0.html')

In [ ]: