Python 设置用于使用matplotlib contourf绘制的阵列遮罩值的颜色

Python 设置用于使用matplotlib contourf绘制的阵列遮罩值的颜色,python,matplotlib,contour,Python,Matplotlib,Contour,当我使用matplotlibcountourf绘制带有遮罩值的数组时,遮罩值显示为白色。我希望它们看起来是灰色的 我尝试了set\u bad方法,但似乎countourf无法识别它(尽管它可以识别set\u over和set\u over方法) 是否有其他方法可用于contourf 或者我必须将代码更改为使用imshow,它可以理解set\u bad,而不是countourf?您是否尝试过先设置背景,例如: x,y=meshgrid(linspace(0,1),linspace(0,1)) fi

当我使用matplotlib
countourf
绘制带有遮罩值的数组时,遮罩值显示为白色。我希望它们看起来是灰色的

我尝试了
set\u bad
方法,但似乎
countourf
无法识别它(尽管它可以识别
set\u over
set\u over
方法)

是否有其他方法可用于
contourf


或者我必须将代码更改为使用
imshow
,它可以理解
set\u bad
,而不是
countourf

您是否尝试过先设置背景,例如:

x,y=meshgrid(linspace(0,1),linspace(0,1))
fig=plt.figure()
a=fig.add_subplot(111,axisbg='gray')
z=ma.masked_array(x**2-y**2,mask=y>-x+1)
a.contourf(z)

值得一提的是,
contourf
contour
imshow
的不同之处在于,它们只是在阵列被屏蔽的地方不绘制任何东西。他们没有把遮罩区域变成白色,只是把情节的背景显示出来。这就是为什么他们没有一个
set\u bad
方法的原因。现在知道contourf在阵列被屏蔽的地方不会绘制任何东西,这肯定会起作用!