2017-10-17 5 views
0

私はFoliumを使用して主要な地震をプロットしています。私はすべてのインスタンスをプロットすることができます。そのうちの約25000個です。しかし、地図は非常に不器用なように見える。私は、次のコードを使用しています NotebookFoliumでこれを達成するにはどうしたらいいですか?

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

関連する問題