【发布时间】:2016-12-06 09:35:30
【问题描述】:
我正在尝试使用 matplotlib 中的 pcolormesh 绘制一个布尔 numpy 数组。如果 numpy 数组中的单元格值为 True,我想将其显示为绿色,否则我想将其显示为红色。
这是我正在使用的代码 sn-p:
import matplotlib.pylab as plt
import numpy
from matplotlib import colors
matrix = numpy.array([[True, True, True]])
cmap = colors.ListedColormap(['green', 'red'], 'indexed')
fig, ax = plt.subplots()
ax.pcolormesh(matrix, cmap=cmap, edgecolor='black', linestyle='-', lw=1)
plt.show()
如果我将矩阵更改为: matrix = numpy.array([[False, False, False]]) 所有的单元格仍然是绿色而不是红色。
有没有办法使用 ListedColormap 一致地将布尔值分配给特定颜色?理想情况下,False 值将始终映射到红色,True 值将始终映射到绿色。
我正在使用 Python 2.7.6,Matplitlib 版本:1.4.3。提前致谢。
【问题讨论】:
标签: python matplotlib