【问题标题】:Change Basemap Colors in Masked Regions (matplotlib)更改遮罩区域中的底图颜色 (matplotlib)
【发布时间】:2014-09-29 17:49:26
【问题描述】:

我的底图颜色默认为黑色。但是,我希望底图颜色在我将遮蔽(负)降水值设置为黑色(在我的情况下为图像的高纬度)的区域中为白色。我可以更改 set_bad 上的 alpha,但这给了我一个不喜欢的灰色。这很容易做到吗?我会发布一张图片,但我还没有 10 个声望点。 TIA。

datamasked = np.ma.masked_where(datam < 0.0, datam)

my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap',uneven_rgb)
my_cmap.set_bad('k', 1.0)

mapproj = Basemap(projection = 'cyl', llcrnrlat=-90.0, llcrnrlon=0.0, urcrnrlat=90.0,     urcrnrlon=360.0)

mapproj.drawcoastlines()
mapproj.drawcountries()
mapproj.drawparallels(np.array([-60.0, -30.0, 0.0, 30.0, 60.0]), labels=[0,0,0,0])
mapproj.drawmeridians(np.array([0.0, 90.0, 180.0, 270.0, 360.0]), labels=[0,0,0,0])

myplot = plt.imshow(datamasked.T, interpolation = 'nearest', cmap = my_cmap, \
    norm = matplotlib.colors.Normalize(vmin = 0.0, vmax = 20.0, clip = False), \
    extent = (0.0, 360.0, -90.0, 90.0))

【问题讨论】:

    标签: python-2.7 matplotlib colors matplotlib-basemap


    【解决方案1】:

    非常容易实现。只需将 set_bad 中的颜色更改为“k”以外的任何颜色(即黑色)。 Matplotlib 中任何可识别的颜色都可以使用。无需更改 alpha 值。

    即将屏蔽值更改为洋红色: my_cmap.set_bad('洋红色', 1.0)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-27
      • 2023-03-18
      • 2011-09-19
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      相关资源
      最近更新 更多