设置用于使用matplotlib contourf绘制的掩码值数组的颜色。

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

2
就这个问题而言,contourfcontourimshow的不同之处在于它们在数组被掩码时根本不会绘制任何内容。它们不会将掩码区域变为白色,只是透过绘图的背景显示出来。这就是为什么它们没有set_bad方法的原因。 - Joe Kington
1个回答

6

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

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)

1
现在知道contourf在数组被掩蔽的地方不会绘制任何内容,这肯定会起作用! - carla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接