我想在彩色图中显示一个矩阵,并为两个或多个特殊值赋予特定的颜色。
import numpy as np
from pylab import *
np.random.seed(10)
a=np.random.randint(-1,10, size=(5, 5))
print a
fig, ax = plt.subplots()
mat=ax.matshow(a, cmap=cm.jet, vmin=1, vmax=10)
colorbar(mat)
show()
以下是a
矩阵的值:
[[ 8 3 -1 0 8]
[-1 0 9 7 8]
[-1 9 7 5 3]
[ 2 -1 3 5 7]
[ 9 0 7 3 0]]
这是情节:
我想将黑色分配给所有 -1 条目,将白色分配给所有 0 条目,并且我希望它以两种离散颜色显示在第一号下方的颜色条上。这是一个例子,我的照片编辑能力很差,但应该清楚我想要什么(颜色条应该是按比例的):
拥有连续的jet
颜色图对我来说并不重要,我会满足于一个解决方案我的颜色条将是离散的,例如由 10 种颜色组成,其中两种是黑色和白色,8 种来自jet
彩色地图颜色。但是,重要的是 -1 和 0 具有不同的颜色,无论值的总范围是多少。
例如,如果值范围是从 -1 到 1000: