【发布时间】:2016-03-11 09:20:21
【问题描述】:
数据
.tif 数据DEM 是高度值,代表一个行政区划的海拔高度。我上传了here
除师以外的区域我不想在情节上显示它们。
我的目标
使用 plt.pcolormesh 绘制该部门的 hypsography(PS:我在阅读 .tif 时发现,plt.imshow() 比 pcolormesh 快得多。我不知道为什么) .
这里我展示了一个我从互联网上截取的例子。
http://7xrn7f.com1.z0.glb.clouddn.com/16-3-10/56951530.jpg
我的尝试
### Using GDAL to read the .tif data
from osgeo import gdal
### Read the .tif
pathToRaster = r'./dem.tif'
raster = gdal.Open(pathToRaster, gdal.GA_ReadOnly)
dem = raster.GetRasterBand(1).ReadAsArray()
dem = dem[::-1]
### Mask the outside value
dem_mask = np.ma.masked_less(dem,0)
plt.pcolormesh(dem_mask,cmap =plt.cm.terrain)
结果
http://7xrn7f.com1.z0.glb.clouddn.com/16-3-10/45669007.jpg
问题
在我的研究部门中,该区域不包含上面blue 绘制的海洋/海洋。
但我想使用plt.cm.terrain 作为我的pcolormesh 的颜色图,因为它适合这种情况。
所以,我想移除颜色图的蓝色部分,并使用代表平原的green 开始地形。
【问题讨论】:
-
你能调整
pcolormesh的vmin吗?尝试使其显着低于数据的最小值 -
好的,我试试看。
标签: python matplotlib gis visualization tiff