当我使用matplotlib的countourf函数绘制带有掩码值的数组时,掩码值会显示为白色。我想让它们显示为灰色。
我尝试了set_bad方法,但是countourf似乎无法识别它(尽管它可以识别set_over和set_under方法)。
还有其他方法可以与contourf一起使用吗?或者我必须更改我的代码,使用理解set_bad的imshow函数,而不是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_bad
方法的原因。 - Joe Kington