小编bay*_*man的帖子

修改 matplotlib 颜色图

我正在尝试使用 Python 生成此图像的类似版本:

原图

我很接近但无法弄清楚如何修改 matplotlib 颜色图以使值 <0.4 变为白色。我尝试屏蔽这些值并使用,set_bad但我最终得到了一个真正的块状外观,失去了原始图像中看到的漂亮平滑的轮廓。

  • 具有连续颜色图的结果(问题:没有白色):

    具有所有颜色的图像

  • 结果set_bad(问题:没有平滑过渡到白色):

    带有屏蔽值的图像

到目前为止的代码:

from netCDF4 import Dataset as NetCDFFile
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.basemap import Basemap
nc = NetCDFFile('C:/myfile1.nc')
nc1 = NetCDFFile('C:/myfile2.nc')
lat = nc.variables['lat'][:]
lon = nc.variables['lon'][:]
time = nc.variables['time'][:]
uwnd = nc.variables['uwnd'][:]
vwnd = nc1.variables['vwnd'][:]
map = Basemap(llcrnrlon=180.,llcrnrlat=0.,urcrnrlon=340.,urcrnrlat=80.)
lons,lats = np.meshgrid(lon,lat)
x,y = map(lons,lats)
speed = np.sqrt(uwnd*uwnd+vwnd*vwnd)
#speed = np.ma.masked_where(speed < 0.4, speed)
#cmap = plt.cm.jet
#cmap.set_bad(color='white')
levels = np.arange(0.0,3.0,0.1)
ticks …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-3.x

2
推荐指数
1
解决办法
6547
查看次数

标签 统计

matplotlib ×1

python ×1

python-3.x ×1