Wrong color showed by "imagesc" function, what am I doing wrong?

5 次查看(过去 30 天)
Hi I have a 3x3 matrix of p-values and I want to display it using a colored grid. I am using the "imagesc" function with a "Copper" color map. One of the grids is coming out in wrong color. What am I doing wrong?
The Matrix is as follows -
resPval =
0.9996 1.0000 1.0000
0.2973 0.9918 1.0000
1.0000 1.0000 1.0000
And I am using the following code the generate the figure-
colormap('copper')
imagesc(resPval)
for i=1:3
for j=1:length(betaVal)
Pstr=num2str(resPval(i,j),8);
if resHval(i,j); Hstr='H_o Rejected'; col='b'; else Hstr='H_o Accepted'; col='r'; end
text(i,j,{Pstr,Hstr},...
'HorizontalAlignment','center',...
'VerticalAlignment','middle',...
'BackgroundColor','w',...
'Color',col);
end
end
set(gca,'YTick',1:length(betaVal),'YTickLabel',colNames,'XTick',1:3,'XTickLabel',rowNames(1:3))
This is the figure I am getting-
Why am I getting that black block? Please help me if someone knows.

采纳的回答

Image Analyst
Image Analyst 2015-3-7
The value of resPval is 0.2973 so it shows up in a different color, whereas the other values are all within 1/64 of 1. Since you didn't specify a number of colors, it will use a 64 color colormap and so all values in the range [1-1/64, 1] will be the same color. The one value is for 0.2973 which is not in that range and thus appears with a different color. Which of the two colors you're displaying do you consider the "wrong" color, and why? It's just doing exactly what you told it to.
  3 个评论
Image Analyst
Image Analyst 2015-3-7
By the way, your label locations are wrong. You're using resHval(i,j) for the values, but in text(x,y,string) you're using text(i,j,string). But i is row, which is the y value, and j is the column which is the x value. So you're really doing text(y, x, string), not text(x,y,string) like you think. Don't worry - it's a very very common mistake that all novices make: mixing up row,column with x,y.
Udit Gupta
Udit Gupta 2015-3-7
Aah I get it now, the black color is for the 0.2973 value, I am just plotting it wrong. Thanks for your help.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Orange 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by