I am trying to combine a heat map with a world map i created. What i got is a CSV file with 3 columns. The first column contains the name of a country and the second and third contain the latitude respectively the longitude. Now i wrote a class which plots the point according to this coordinates on a world map. That works fine but what i want now is a heat map, because having just a few points everything looks fine but i am going to have a great many of points. So depending on the count of points in a country and specified borders, the heat map should be realized.
import csv
class toMap:
    def setMap(self):
        filename = 'log.csv'
        lats, lons = [], []
        with open(filename) as f:
            reader = csv.reader(f)
            next(reader)
            for row in reader:
                lats.append(float(row[1]))
                lons.append(float(row[2]))
        from mpl_toolkits.basemap import Basemap
        import matplotlib.pyplot as plt
        import numpy as np
        map = Basemap(projection='robin', resolution='l', area_thresh=1000.0,
                      lat_0=0, lon_0=-130)
        map.drawcoastlines()
        map.drawcountries()
        map.fillcontinents(color='gray')
        #map.bluemarble()
        #map.drawmapboundary()
        map.drawmeridians(np.arange(0, 360, 30))
        map.drawparallels(np.arange(-90, 90, 30))
        x, y = map(lons, lats)
        map.plot(x, y, 'ro', markersize=3)
        plt.show()
def main():
    m = toMap()
    m.setMap()
Here is an example of what the CSV looks like:
Vietnam,10.35,106.35
United States,30.3037,-97.7696
Colombia,4.6,-74.0833
China,35.0,105.0
Indonesia,-5.0,120.0
United States,38.0,-97.0
United States,41.7511,-88.1462
Bosnia and Herzegovina,43.85,18.3833
United States,33.4549,-112.0777

