python – cmap.set_bad()没有显示任何效果与pcolor()

python – cmap.set_bad()没有显示任何效果与pcolor(),第1张

概述我正试图在蒙面数组上使用pcolor.我想要蒙面元素 以特殊的颜色显示出来.我写了一些代码,但事实并非如此 似乎工作: import matplotlib as mplimport matplotlib.pyplot as pltfrom numpy import linspacefrom numpy.random import randnfrom numpy.ma import mas 我正试图在蒙面数组上使用pcolor.我想要蒙面元素
以特殊的颜色显示出来.我写了一些代码,但事实并非如此
似乎工作:

import matplotlib as mplimport matplotlib.pyplot as pltfrom numpy import linspacefrom numpy.random import randnfrom numpy.ma import masked_invalIDD = randn(12*72).reshape((12,72))D[4,:] = nanD[6,6] = nanD = masked_invalID(D)cmap = mpl.cm.bwrc    map.set_bad('k',1.)xbin = linspace(0,12,13)ybin = linspace(-90,90,73)fig = plt.figure()spl = fig.add_subplot(111)pl = spl.pcolor(xbin,ybin,D.T,cmap=cmap,edgecolors='none',vmin=-5,vmax=5)
解决方法 pcolormesh的文档说:

Masked array support is
implemented via cmap and norm; in contrast,pcolor() simply does not
draw quadrilaterals with masked colors or vertices.

所以请改用pcolormesh:

import matplotlib.pyplot as pltimport numpy as npD = np.random.randn(12*72).reshape((12,:] = np.nanD[6,6] = np.nanD = np.ma.masked_invalID(D)cmap = plt.get_cmap('bwr')cmap.set_bad(color = 'k',Alpha = 1.)xbin = np.linspace(0,13)ybin = np.linspace(-90,73)fig = plt.figure()ax = fig.add_subplot(111)pl = ax.pcolormesh(xbin,cmap = cmap,edgecolors = 'None',vmin = -5,vmax = 5)plt.show()
总结

以上是内存溢出为你收集整理的python – cmap.set_bad()没有显示任何效果与pcolor()全部内容,希望文章能够帮你解决python – cmap.set_bad()没有显示任何效果与pcolor()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存