我有一个二维的numpy数组,显示了大脑的解剖数据,该数组的元素属于不同的解剖区域,具有不同的值。例如,caudoputamen的值为672,丘脑的值为3987。
我还有一个字典,将这些整数映射为颜色。我正在尝试绘制array(2d图像)的切片,并创建一个颜色图,该颜色图使用该字典为该特定ID指定的颜色,但是到目前为止,我未能创建此颜色图。有谁知道如何解决这个问题?
例如,
data_array是一个包含整数的2d numpy数组。为了简单起见,假设它只包含不同区域的数字:44、83、5611、22。
我还有一本这样的字典:color_dict = {44:'蓝色',83:'绿色',5611:'红色',22:'黄色'}
我想做的是:
plt.imshow(data_array [:,:],cmap = color_dict)
当我看到图像时,我期望的最终结果是,数组元素的值为44为蓝色,值为83的元素为绿色,依此类推。我尝试创建一个ListedColormap,但它做了一些奇怪的归一化处理。问题在于整数条目的比例可能不同。因此,我不需要任何形式的归一化处理,而只是将整数值映射为颜色。
在将其标记为matplotlib color map - predefine mappings to values?的副本之前,请不要在那种情况下将颜色映射表直接索引为值[0-9]。