MATLAB Answers

How can i rotate Confusion Matrix?

5 views (last 30 days)
Goma Najah
Goma Najah on 26 Sep 2016
Commented: George on 27 Sep 2016
I have this code for Confusion Matrix (CM),
C=confusionmat(labels,predicted);
L=length(unique(labels));
for i=1:L
Cmat(i,:)=C(i,:)./sum(C(i,:));
end
figure('visible','on');
imagesc(Cmat);colormap(flipud(summer));caxis([0,1])
textstr=num2str(Cmat(:),'%0.2f');
textstr=strtrim(cellstr(textstr));
[x,y]=meshgrid(1:L);
hstrg=text(x(:),y(:),textstr(:),'HorizontalAlignment','center','FontSize',16,'FontName','Times New Roman');
midvalue=mean(get(gca,'Clim'));
textColors=repmat(Cmat(:)>midvalue,1,3);
set(hstrg,{'color'},num2cell(textColors,2));
set(gca,'XTick',1:L,'XTickLabel',classes_names,'YTick',1:L,'YTickLabel',classes_names,'TickLength',[0,0],'FontSize',13,'FontName','Times New Roman');
colorbar;
DA=mean(diag(Cmat))*100;
This is original image:
I need to rotate it to be like this.
Any help. Plz.

  0 Comments

Sign in to comment.

Answers (1)

George
George on 26 Sep 2016
ax = gca;
ax.XAxisLocation = 'top';
You can also do this with the set command, but I think the above is more clear.

  2 Comments

Goma Najah
Goma Najah on 26 Sep 2016
Thanks, But i want the two axises start from same point.
0 1 2 3 4 5 6 7 8
--------------------------
0|
1|
2|
3|
4|
5|
6|
George
George on 27 Sep 2016
Can you post what it looks like after setting the XAxisLocation? It should just move the axis, not reorder it.

Sign in to comment.

Sign in to answer this question.


Translated by