2014-04-11 189 views
0

我有一个相关矩阵由corr(X)函数输出。将相关矩阵转换为RGB图像matlab

我需要使用以下规格以RGB图像格式显示它。

负相关应为红色,正相关应为绿色。 相关矩阵的值在[-1,1]的范围内。


1 -0,0286473845495979 0,185190317331816
-0,0286473845495979 1 -0,309327144422681
0,185190317331816 -0,309327144422681 1


我的矩阵转换为范围的[-255,255],我需要显示负值红色和正值绿色,与相应的颜色强度...


0 -262 208
-262 0 -334
208 -334 0


任何帮助将是巨大的!

+2

看看'colormap'。 –

+0

你想要'0'是什么颜色?因为如果你只是从红色渐变为绿色,零将是rgb(128,128,0),这就像是一个棕褐色:/ – Dan

回答

0
red = [1,0,0]; 
green = [0,1,0]; 

R = linspace(red(1),green(1),256); 
G = linspace(red(2),green(2),256); 
B = linspace(red(3),green(3),256); 

map = [R', G', B']; 
colormap(map) 
colorbar 

有关说明,请参阅How to create a custom colormap programmatically?。你也会注意到它在中间呈黄褐色。如果你不想要这个,那么我建议或者让中间的黑色或白色,我连接的答案应该解释如何实现这一点。