Python 设置用于使用matplotlib contourf绘制的阵列遮罩值的颜色
当我使用matplotlibPython 设置用于使用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
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在阵列被屏蔽的地方不会绘制任何东西,这肯定会起作用!