2012-03-03 32 views
7

我是matplotlib的新手,并且卡在colormap中。matplotlib:获取颜色地图数组

在matplotlib中,如何获取特定颜色映射的整个RGB颜色数组,例如“热”。例如,如果我在MATLAB,我会刚刚做到这一点:

# in matlab 
c = hot(256); 
disp(c) 

任何想法?

回答

11

您可以通过调用颜色表作为函数查找值,它接受numpy的阵列,同时查询多个值:

In [13]: cm.hot(arange(256)) 
Out[13]: 
array([[ 0.0416 , 0.  , 0.  , 1.  ], 
     [ 0.05189484, 0.  , 0.  , 1.  ], 
     [ 0.06218969, 0.  , 0.  , 1.  ], 
     ..., 
     [ 1.  , 1.  , 0.96911762, 1.  ], 
     [ 1.  , 1.  , 0.98455881, 1.  ], 
     [ 1.  , 1.  , 1.  , 1.  ]]) 
-3

明白了!所以,你只是去您的MATLAB的命令行窗口,键入

CMAP =颜色表(nameOfTheColormapYouWant)

在Matlab可能的颜色表是:parula,喷气,HSV,热,冷,春,夏,秋,冬,灰色,骨头,铜,粉红色,线,colorcube,棱镜,国旗。

您得到一个矩阵,其中每行是用于色彩地图的色彩代码。

+0

这是如何在'Matlab'中获得RGB数组。 OP想要在python的'matplotlib'包中获得RGB数组。请在下次阅读这个问题。 – 2017-04-17 04:05:10