2017-10-17 13 views
0

저는 Folium을 사용하여 주요 지진을 계획하고 있습니다. 나는 모든 인스턴스를 그릴 수 있는데 약 25000 개이다. 그러나지도는 매우 서투르게 보입니다. 나는 다음과 같은 코드를 사용했습니다 : Notebook : 어떻게 Folium에서이를 수행 할 수 있습니까?

map1 = folium.Map(location=[80., -180], zoom_start=1) 
def color(magnitude): 
if magnitude<6: 
    col='green' 
elif [(magnitude>6)&(magnitude<7.5)]: 
    col='yellow' 
else: 
    col='red' 
return col 
fg=folium.FeatureGroup(name="Earthquake Locations") 
for latitude,longitude,magnitude in zip(earthquakes['Latitude'][:30],earthquakes['Longitude'][:30],earthquakes['Magnitude'][:30]): 
fg.add_child(folium.Marker(location=[latitude,longitude],popup=(folium.Popup(magnitude)),icon=folium.Icon(color=color(magnitude)))) 
map1.add_child(fg) 

지금 나는 다음과 R 노트북에서 첫 번째 플롯 같은 플롯 보이는 무언가를 만들고 싶어.

개인 점수가 클러스터 된 곳에서 포인트를 표시하는 플롯을 달성하는 데 도움을 줄 수 있습니까?

감사합니다.

답변

1

예. 가능합니다. MarkerCluster

밥 Haffer에 의해 코드는 일이 소용돌이

import folium 
from folium.plugins import MarkerCluster 

map1 = folium.Map(location=[80., -180], zoom_start=1) 

def color(magnitude): 
    if magnitude<6: 
     col='green' 
    elif [(magnitude>6)&(magnitude<7.5)]: 
     col='yellow' 
    else: 
     col='red' 
    return col 

map1.add_child(MarkerCluster(locations=list(zip(earthquakes['Latitude'], 
           earthquakes['Longitude'])), 
           popups=earthquakes['Magnitude'].astype(str), 
           icons=[color(m) for m in earthquakes['Magnitude']])) 

map1 

enter image description here

+0

을 .. !! 감사합니다 – user517696

+0

맞아, 좋은 거래 –

1

을 지정 후있어 것입니다. 나는 주위를 조정할 시도하고 코드의 또 다른 조각을 썼다 : 그것은 일

import folium 
import folium.plugins 
map1 = folium.Map(width=1000,height=500,location=[80, -180],tiles='CartoDB dark_matter',zoom_start=1) 
def color(magnitude): 
if magnitude<6: 
    col='green' 
else: 
    col='red' 
return col 
marker_cluster = folium.plugins.MarkerCluster().add_to(map1) 
for point in locationlist.index: 
    folium.Marker(list(locationlist.loc[point].values),popup='Magnitude:'+str(locationlist_pop[point]),icon=folium.Icon(color=color(locationlist_pop[point]))).add_to(marker_cluster) 
marker_cluster = folium.plugins.MarkerCluster().add_to(map1) 
map1 

Output