根据值/数据类型并保留范围在 matplotlib 颜色图上设置特定像素颜色

问题描述

我有一个包含(简化)形式的数据的 CSV 数据文件

1.2,2.2,o,s
1.7,s,2.4,2.9
  o,0.9,0.1,NaN
1.4,0.5,0.9

注意:这包含字符“o”,而不是数字零 (0)。该文件与指示不同类型“失败”测量的字符混合在一起。这些矩阵通常比 4x4 网格大得多。

我想使用 matplotlib彩色地图上绘制这些矩阵,但每个失败的测量值都在图中分配了自己的颜色,同时保留了合法数据的颜色范围。

具有逻辑性的东西,例如 `

if data == 'o':
   pixel_colour = 'red'

if data == 's':
   pixel_colour = 'black'

if data == 'NaN':
   pixel_colour = 'white'

` 我已经看过这篇有用的帖子 (Changing colours of pixels of plt.imshow() image.),但我想不出如何让它处理异构数据类型。

解决方法

为了正确回答你的问题,你可以屏蔽坏的值,范数,映射到RGBA,然后随意填充其他颜色

SafeAreaView

enter image description here