
doug提供的答案的问题在于,它依赖于色图将零值映射到白色这一事实。这意味着不包含白色的颜色图将无用。解决方案的关键是
cm.set_bad功能。您可以使用None或NumPy掩码数组将矩阵的不需要部分掩码
set_bad为白色,而不是默认的黑色。以道格为例,我们得到以下信息:
import numpy as NPfrom matplotlib import pyplot as PLTfrom matplotlib import cm as CMA = NP.random.randint(10, 100, 100).reshape(10, 10)mask = NP.tri(A.shape[0], k=-1)A = NP.ma.array(A, mask=mask) # mask out the lower trianglefig = PLT.figure()ax1 = fig.add_subplot(111)cmap = CM.get_cmap('jet', 10) # jet doesn't have white colorcmap.set_bad('w') # default value is 'k'ax1.imshow(A, interpolation="nearest", cmap=cmap)ax1.grid(True)PLT.show()欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)