Als je puur Matplotlib gebruikt, dan moet je wel gebruik maken van shapefiles voor de landsgrenzen etc. Dat is echter niet moeilijk, en je kunt de module pyproj gebruik voor de coördinatentransformaties.
Zeker als je maar 1 projectie gebruikt, dan is het is vrij makkelijk om zo'n kaart met puur Matplotlib te genereren. Zoals Rutger aangaf is dat voor de transparantie wel zo fijn, en wie weet ook voor de efficiëntie, aangezien het maar de vraag is hoe efficiënt de implementatie van bijvoorbeeld Basemap is (dat veel meer projecties moet aankunnen). Dat zou ik echter niet weten.
Zelf ben ik ongeveer een jaar geleden op Vispy overgestapt voor de visualisatie (in o.a. NLradar). Vispy heeft als voordeel dat het de GPU gebruikt voor de meeste taken, wat zich uit in een sterke toename in de plotsnelheid (scheelt wel een factor 10 tot 20 in mijn geval). Het nadeel is echter dat de documentatie veel beknopter is, en dat je daarom deels zelf in de code moet duiken om uit te zoeken hoe het werkt. Het kost dus duidelijk meer tijd om er goed mee te leren werken.
Zolang je geen interactieve plots wilt maken, dus bvb. enkel wat plaatjes voor op het web, dan heb je die extra snelheid echter helemaal niet nodig. Dan is Matplotlib prima. De uitzondering is denk ik wanneer je met enorme datasets werkt, maar dat merk je dan vanzelf.