This page aims to explain how to add marker on a map made with the base map python library. It supposes you know how to make a basic map with base map, and that you have a pandas data frame that contains the GPS positions of the places you want to mark.
Once your map is done, you can call the usual matplotlib functions to plot over the map! Here, we simply call the plot function to add a few dots, with the usual available customisation.
# libraries from mpl_toolkits.basemap import Basemap import numpy as np import matplotlib.pyplot as plt # Make a data frame with the GPS of a few cities: data = pd.DataFrame({ 'lat':[-58, 2, 145, 30.32, -4.03, -73.57, 36.82, -38.5], 'lon':[-34, 49, -38, 59.93, 5.33, 45.52, -1.29, -12.97], 'name':['Buenos Aires', 'Paris', 'melbourne', 'St Petersbourg', 'Abidjan', 'Montreal', 'Nairobi', 'Salvador'] }) # A basic map m=Basemap(llcrnrlon=-160, llcrnrlat=-75,urcrnrlon=160,urcrnrlat=80) m.drawmapboundary(fill_color='#A6CAE0', linewidth=0) m.fillcontinents(color='grey', alpha=0.7, lake_color='grey') m.drawcoastlines(linewidth=0.1, color="white") # Add a marker per city of the data frame! m.plot(data['lat'], data['lon'], linestyle='none', marker="o", markersize=16, alpha=0.6, c="orange", markeredgecolor="black", markeredgewidth=1)
Hi,
I guess the lat,lon are flipped in m.plot(lat,lon).
It is more correct m.plot(lon,lat)
Thanks,
Lin
Hi,
How to make the marker blinking in this map ?