Continuando con mi pregunta anterior: cómo superponer figuras en matplotlib me gustaría saber cómo se puede crear un objeto de basemap
reutilizable. Mi problema es que un basemap
no es un objeto de pyplot
, por lo que la solución que recibí funciona bien en figures / axes
pero no en objetos de basemap
.
Traté de mirar alrededor y encontrar una solución, pero no pude encontrar ninguna, solo discusiones.
Gracias a @JoeKington aquí y @EdSmith en Cómo superponer figuras en matplotlib , pude entender cómo lograr lo que quería: reutilizar objetos de mapa base y pasarlos por alto.
Lo hice de esta manera:
base_map.py
que tiene dos funciones: plot()
que crea un objeto de mapa y dibuja algunas propiedades y otra, set_a_map()
que crea un objeto de mapa vacío. En los otros módulos que agregué a las funciones de trazado una propiedad map=None
, y en cada función agregué un:
if not map: map = base_map.set_a_map()
De modo que, en caso de que no se pase ningún objeto de mapa a la otra función, la función creará un nuevo objeto de mapa.
En mis funciones de trazado, en lugar de usar plt.imshow(...)
por ejemplo, estoy usando map.imshow(...)
. De esta manera mis datos serán trazados sobre un mapa.
¡Gracias por la paciencia y los comentarios realmente útiles!