Matplotlib色彩映射值转换

时间:2018-01-05 11:30:23

标签: python matplotlib colors

我有以下代码:

def _cmap2rgb(cmap, step):
    from matplotlib import cm
    return getattr(cm, cmap)(step)

将转换颜色贴图并返回0到255之间给定步长的RGBA值。

结果说:

 >>> _cmap2rgb('Blues', 0)

 (0.9686274528503418, 0.9843137264251709, 1.0, 1.0)

我希望RGB值在0到255之间。有没有办法将它转换为这些值?

所以输出是这样的:

 (0,0,255,1)

第四个值是alpha。

我想确保这一点,但我想我只需要将我的值乘以255以获得正确的值以确保1:1的颜色匹配?

1 个答案:

答案 0 :(得分:3)

是的,您需要将这些值乘以255.实际上,每个cmap都有参数'bytes':

  

字节:bool       如果为False(默认值),则返回的RGBA值将浮动       间隔[0, 1]否则它们将在间隔中为uint8s       [0, 255]

def _cmap2rgb(cmap, step):
    from matplotlib import cm
    return getattr(cm, cmap)(step, bytes=True)