Quiero generar un mapa de los Estados Unidos y colorear cada estado con un tono diferente. ¿Hay alguna manera de hacer esto usando el mapa base de Python?Estados de color con matplotlib/basemap de Python
12
A
Respuesta
16
Hay un ejemplo muy bien formateado en el repositorio Basemap en GitHub: fillstates.py. El shapefile (dbf | shp | shx) también se incluye en el examples folder.
Aquí es una versión abreviada del ejemplo:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from matplotlib.patches import Polygon
# create the map
map = Basemap(llcrnrlon=-119,llcrnrlat=22,urcrnrlon=-64,urcrnrlat=49,
projection='lcc',lat_1=33,lat_2=45,lon_0=-95)
# load the shapefile, use the name 'states'
map.readshapefile('st99_d00', name='states', drawbounds=True)
# collect the state names from the shapefile attributes so we can
# look up the shape obect for a state by it's name
state_names = []
for shape_dict in map.states_info:
state_names.append(shape_dict['NAME'])
ax = plt.gca() # get current axes instance
# get Texas and draw the filled polygon
seg = map.states[state_names.index('Texas')]
poly = Polygon(seg, facecolor='red',edgecolor='red')
ax.add_patch(poly)
plt.show()
parcela resultante con Texas, lleno de color rojo:
Tenga en cuenta que cuando cargamos un archivo de formas las formas y atributos se almacenan en map.states
y map.states_info
respectivamente como listas basadas en el parámetro name
utilizado en la llamada readshapefile
. Entonces, para buscar la forma de un estado específico, tuvimos que construir una lista correspondiente de los nombres de estado de los atributos.
Cuestiones relacionadas
- 1. ¿Cómo especificar el color de fondo en los recursos de la lista de estados de color?
- 2. Controlando Python PLY estados lexer del analizador
- 3. Cambiar todos los estados del enlace mismo color css
- 4. Cómo escribir máquinas de estados con C#?
- 5. ¿Cómo heredar estados con mxml?
- 6. ¿Cuáles son los diversos CMS de Python y sus estados?
- 7. Obtener estados Lista de estados según el país seleccionado
- 8. ¿Cómo imprimir el color/color en python?
- 9. Generación de rangos de color en Python
- 10. Cambiar el color de todos los píxeles con otro color
- 11. Máquinas de estados en C
- 12. obtener lista de estados state_machine
- 13. Ámbitos con nombre para estados en state_machine
- 14. Biblioteca PHP con países, estados y ciudades
- 15. Detección de color de imagen usando Python
- 16. Dibujando diagramas de estados UML
- 17. Color de fondo para Tk en Python
- 18. detección de color principal en Python
- 19. Intentando deshabilitar estados inactivos del procesador (estados C) en PC con Windows
- 20. Estados de botón con fondo como animaciónDibujo en Android
- 21. Temas de color para Eclipse Python Development
- 22. Si los estados
- 23. ¿Debería una máquina de estados finitos tener una máquina de estados finitos "anidados"?
- 24. compilador de máquina de estados finitos
- 25. modismos para un alternar de tres estados?
- 26. Máquina de estados finitos: ¿mal diseño?
- 27. Crear historial de estados en Java
- 28. gradientes de color Con ggplot
- 29. ForeColor con códigos de color
- 30. Convertir RGB color para identificar el color Inglés, como 'verde' con Python
Eso es realmente genial. Si quiero poner una estrella en un lat/lon particular, ¿cómo lo agregaría? – vy32
@ vy32 aquí hay un buen [ejemplo de trazado de datos de punto en un mapa] (https://www.getdatajoy.com/examples/python-plots/plot-data-points-on-a-map), todas las los estilos de marcador se pueden encontrar en [la documentación de matplotlib] (http://matplotlib.org/api/markers_api.html), específicamente '*' es el marcador de inicio. – Weston