パブリケーションで使用するヒートマップを作成しています。公開は白黒印刷に制限されているため、グレースケールでヒートマップを作成しています。私が抱えている問題は、ヒートマップに、他のセルと視覚的に区別したい「適用外」の正方形がいくつかあることです。私の理解では、ヒートマップがスケールの両端で色付けされている場合、これは 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()