ヒートマップ
配列内のデータをRGBのヒートマップに変換したいことは良くあるのでメモ。 下の関数は配列内のデータの最大値(max_val), 最小値(min_val)とヒートマップ化したい値vを渡すと、そのvのRGBを返す。
def calc_heatmap_rgb(min_val, max_val, v, str_out=True): mi, ma = float(min_val), float(max_val) ration = 2 *(v-mi) / (ma - mi) b = int(max(0, 255*(1 - ratio))) r = int(max(0, 255*(ratio -1))) g = 255 - b - r if str_out: return '{:0>2X}{:0>2X}{:0>2X}'.format(r, g, b) else: return r, g, b