选择colormap绘制地形的一部分

2024-06-13 01:04:39 发布

您现在位置:Python中文网/ 问答频道 /正文

数据

  • tif数据DEM是代表一个行政区划的海拔高度值。我上传here

  • 除了分区以外的区域我不想在图上给他们看。

我的目标

plt.pcolormeshPS)绘制这个分区的地形图:我发现reading.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的颜色映射,因为它适合这种情况。在

因此,我想删除colormap的蓝色部分,并使用代表平原的green开始地形。在


Tags: the数据http区域绘制plt代表glb
3条回答

我现在有两个解决方案。在

1。使用vmin设置较小的开始。

>print dem_mask.min()
>print dem_mask.max()
output: 20
        2271
## Set vmin value far smaller than 20
plt.pcolormesh(dem_mask,cmap =plt.cm.terrain,vmin = -800)       

2。提取引用this question

^{pr2}$

结果

http://7xrn7f.com1.z0.glb.clouddn.com/16-3-11/96590416.jpg

相关问题 更多 >