0

我有一个巨大的矩阵。我说的是 4^7x4^7。每个网格单元都有一个与之相关的概率分布。我想通过基于最高概率为其分配颜色和基于概率大小的阴影来可视化该矩阵。例如:

__                                         __
|(.8,.1,.1) (.6,.3,.1) (.4,.4,.2) (.2,.6,.2)|
|(.1,.6,.3) (.1,.2,.7) (.2,.3,.5) (.1,.4,.5)|
|(.4,.1,.5) (.3,.1,.6) (.6,.2,.2) (.7,.1,.2)|
|(.2,.5,.3) (.8,.1,.1) (.4,.3,.3) (.2,.6,.2)|
__                                         __

我希望单元格 (1,1), (1,2), (3,3), (3,4), (4,2), (4,3) 是红色的,单元格 (1,1)比(4,3)更暗另外,我希望(1,4),(2,1),(4,1),(4,4)是蓝色,(1,4)更暗比 (4,1) 等等。

我的实际实现将需要 8 种不同的颜色。我打算在 Matlab 中执行此操作,但如果在 Excel 中更容易,我可以使用它。

有任何想法吗?这也太疯狂了吧?

提前致谢!

4

2 回答 2

1

我假设您的概率矩阵的大小P与您拥有的类别/颜色的数量有关。 在这种情况下,您可以这样做:mnkk

>> colors = rand( k, 3 ); % pick k differet colors
>> [shade idx] = max( P, [], 3 ); % choose class per pixel
>> output = ind2rgb( idx, colors ); % convert class to colors
>> output = bsxfun( @times, output, shade ); % apply the shade
>> figure; imshow( output ); 
于 2013-09-10T15:33:22.883 回答
0

颜色和矩阵,听起来像热图。这是一个用 d3js 构建的示例:

http://vida.io/documents/6NHboDKAAei9r5j2S

看起来你也可以在 Matlab 中做热图。

http://www.mathworks.com/matlabcentral/fileexchange/24253-customizable-heat-maps/content/html/heatmap_examples.html

于 2013-09-11T07:02:58.963 回答