Ocultar trazo de línea de contorno en pyplot.contourf para obtener solo rellenos
Tengo un proyecto de mascotas para crear imágenes de mapas, donde dibujo las carreteras y otras cosas sobre un diagrama de contorno de la elevación del terreno. Está destinado a planificar rutas en bicicleta de montaña (he hecho algunos dibujos vectoriales a mano, en el pasado, y funcionan muy bien para la visualización).
Actualmente, descargo el Modelo de elevación digital, en GeoTIFF, desde aquí:http: //www.ecologia.ufrgs.br/labgeo/arquivos/downloads/dados/SRTM/geotiff/rs.ra
y luego cree la trama con GDAL y Matplotlibcontourf
función:
from osgeo import gdal
import matplotlib
import matplotlib.pyplot as plt
from pylab import cm
import numpy
f = 'rs.tif'
elev = gdal.Open(f)
a = elev.GetRasterBand(1).ReadAsArray()
w = elev.RasterXSize
h = elev.RasterYSize
print w, h
altura = (0.35, 0.42)
largura = (0.70, 0.82)
a = a[int(h*altura[0]):int(h*altura[1]),
int(w*largura[0]):int(w*largura[1])]
cont = plt.contourf(a, origin='upper', cmap=cm.gist_earth, levels=numpy.arange(0,1000,20))
plt.title('Altitudes - max: %d m; min: %d m' % (numpy.amax(a), numpy.amin(a)))
plt.show()
Lo que da
l problema es que las líneas de contorno son "blancas" y generan algo de contaminación visual, lo que no es deseable ya que quiero trazar caminos y ríos más tarde.
Entonces, estoy tratando de modificar la formacontourf
cree estas líneas más claras, ya sea mediante la configuración de parámetros o mediante un hack (cambio de código fuente), similar al propuesto aquí:
Cómo formatear líneas de contorno desde Matplotlib
Además, si alguien sabe cómo generar dicho mapa de una manera más elegante, utilizando otras bibliotecas, ¡agradecería mucho la sugerencia!
Gracias por leer