A=[ 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]; 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 %# black and lower values are white) textStrings = num2str(mat(:),'%0.2f'); %# Create strings from the matrix values textStrings = strtrim(cellstr(textStrings)); %# Remove any space padding [x,y] = meshgrid(1:10); %# Create x and y coordinates for the strings,it should be set based on the number of labels. 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',{'能源','材料','工业','可选消费','日常消费','医疗保健','金融','信息技术','电信服务','公共事业'},... %# and tick labels '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 %# text color of the strings so %# they can be easily seen over %# the background color set(hStrings,{'Color'},num2cell(textColors,2)); %# Change the text colors