# How can i rotate Confusion Matrix?

8 views (last 30 days)
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.

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.

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 on 27 Sep 2016
Can you post what it looks like after setting the XAxisLocation? It should just move the axis, not reorder it.