MATLAB将矩阵转化为灰度图
(2015-05-26 16:43:41)
标签:
matlab |
分类: MATLAB |
MATLAB将矩阵转化为灰度图
能源 | 材料 | 工业 | 可选消费 | 日常消费 | 医疗保健 | 金融 | 信息技术 | 电信服务 | 公用事业 | |
能源 | 1.00 | 0.96 | 0.98 | 0.88 | 0.94 | 0.61 | 0.96 | 0.80 | 0.98 | 0.89 |
材料 | 0.96 | 1.00 | 0.94 | 0.90 | 0.95 | 0.71 | 0.96 | 0.83 | 0.90 | 0.88 |
工业 | 0.98 | 0.94 | 1.00 | 0.84 | 0.91 | 0.54 | 0.93 | 0.73 | 0.97 | 0.90 |
可选消费 | 0.88 | 0.90 | 0.84 | 1.00 | 0.89 | 0.85 | 0.94 | 0.94 | 0.80 | 0.82 |
日常消费 | 0.94 | 0.95 | 0.91 | 0.89 | 1.00 | 0.72 | 0.94 | 0.84 | 0.90 | 0.90 |
医疗保健 | 0.61 | 0.71 | 0.54 | 0.85 | 0.72 | 1.00 | 0.74 | 0.90 | 0.48 | 0.64 |
金融 | 0.96 | 0.96 | 0.93 | 0.94 | 0.94 | 0.74 | 1.00 | 0.90 | 0.92 | 0.87 |
信息技术 | 0.80 | 0.83 | 0.73 | 0.94 | 0.84 | 0.90 | 0.90 | 1.00 | 0.70 | 0.75 |
电信服务 | 0.98 | 0.90 | 0.97 | 0.80 | 0.90 | 0.48 | 0.92 | 0.70 | 1.00 | 0.85 |
公用事业 | 0.89 | 0.88 | 0.90 | 0.82 | 0.90 | 0.64 | 0.87 | 0.75 | 0.85 | 1.00 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
A=[
1.00
0.96
0.98
0.88
0.94
0.61
0.96
0.80
0.98
0.89
mat =
A; %#
A n-by-n matrix of random values from 0 to 1
imagesc (mat); %#
Create a colored plot of the matrix values
colormap ( flipud (gray)); %#
Change the colormap to gray (so higher values are
%#
textStrings = num2str (mat(:), '%0.2f' ); strings from
the matrix values
textStrings = strtrim ( cellstr (textStrings)); %#
Remove any space padding
[x,y] = meshgrid (1:5); %#
Create x and y coordinates for the strings
hStrings = text (x(:),y(:),textStrings(:),... %#
Plot the strings
'HorizontalAlignment' , 'center' );
midValue = mean ( get ( gca , 'CLim' )); %#
Get the middle value of the color range
set ( gca , 'XTick' ,1:10,... %#
Change the axes tick marks
'XTickLabel' ,{ '能源' , '材料' , '工业' , '可选消费' , '日常消费' , '医疗保健' , '金融' ,...
'信息技术' , '电信服务' , '公共事业' },... %#
'YTick' ,1:10,...
'YTickLabel' ,{ '能源' , '材料' , '工业' , '可选消费' , '日常消费' , '医疗保健' , '金融' ,...
'信息技术' , '电信服务' , '公共事业' },...
'TickLength' ,[0
0]);
[x,y] = meshgrid (1:10); %#
Create x and y coordinates for the strings
hStrings = text (x(:),y(:),textStrings(:),... %#
Plot the strings
'HorizontalAlignment' , 'center' );
midValue = mean ( get ( gca , 'CLim' )); %#
Get the middle value of the color range
textColors = repmat (mat(:)
>
midValue,1,3); %#
Choose white or black for the
%#
%#
%#
set (hStrings,{ 'Color' }, num2cell (textColors,2)); %#
Change the text colors |