lons = np.array([data['lon1'], data['lon3'], data['lon4'], data['lon2']])
lats = np.array([data['lat1'], data['lat3'], data['lat4'], data['lat2']])
x, y = m(lons, lats)
pols = zip(x, y)
pols = np.swapaxes(pols, 0, 2)
pols = np.swapaxes(pols, 1, 2)
coll = PolyCollection(pols, facecolor=colorval, cmap=jet, edgecolor='none',
    zorder=2)
plt.gca().add_collection(coll)
Более эффективно рисовать многоугольники с помощью matplotlib