我正在创建要在出版物中使用的热图。该出版物仅限于黑白打印,因此我正在创建灰度热图。我遇到的问题是热图中有一些“不适用”的方块,我想在视觉上与其他单元格区分开来。我的理解是,如果热图在刻度的两端都有颜色,那么这可能(?)可以使用 numpy 的掩码数组,并且掩码字段可能只是显示为白色。问题是,我想使用从白色到黑色的全光谱来说明非 NA 数据的范围。有没有办法用其他一些视觉机制来区分 NA 细胞,比如删除线?
下面是带有掩码数组的灰度的最小示例(改编自此处)。NA 值可能在这里被掩盖了,您只是无法分辨,因为它使用的白色已经被用作有效光谱高端的颜色。
import numpy as np
from pylab import *
z = rand(10, 25)
z = np.ma.masked_array(z,mask=z>0.8)
c = pcolor(z)
set_cmap('gray')
colorbar()
c = pcolor(z, edgecolors='w', linewidths=1)
axis([0,25,0,10])
savefig('plt.png')
show()