Ocultar contorno de linha em pyplot.contourf para obter apenas preenchimentos
Tenho um projeto de estimação para criar imagens de mapas, onde desenho as estradas e outras coisas sobre um gráfico de contorno da elevação do terreno. O objetivo é planejar rotas de mountain bike (eu fiz alguns desenhos vetoriais à mão, no passado, e eles funcionam muito bem para visualização).
Atualmente, faço o download do Digital Elevation Model, no GeoTIFF, daqui:http: //www.ecologia.ufrgs.br/labgeo/arquivos/downloads/dados/SRTM/geotiff/rs.ra
e, em seguida, crie o gráfico com GDAL e Matplotlibcontourf
função:
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()
Que dá
O problema é que as linhas de contorno são "brancas" e geram alguma poluição visual, o que é indesejável, pois quero traçar estradas e rios mais tard
Então, estou tentando modificar a maneiracontourf
crie essas linhas mais leves, via configuração de parâmetro ou via hack (alteração do código-fonte), semelhante ao proposto aqui:
Como formatar linhas de contorno do Matplotlib
Além disso, se alguém souber como gerar esse mapa de maneira mais elegante, usando outras bibliotecas, eu apreciaria muito a dica!
Obrigado pela leitura.