首页 > 其他 > 详细

Matlab绘制混淆矩阵

时间:2021-04-17 11:06:05      阅读:30      评论:0      收藏:0      [点我收藏+]

需求

假设你手上已经拿到了3×3的混淆矩阵如下:
技术分享图片

需要绘制类似下面这种带渐变色条的彩色混淆矩阵色图:
技术分享图片

实现

clear;
close all;
clc

% 混淆矩阵
mat = [
5,3,0;
2,3,1;
0,2,11
    ];
% 标签
label = {‘CAT‘,‘Dog‘,‘Rabbit‘};

% 混淆矩阵主题颜色
% 可通过各种拾色器获得rgb色值
maxcolor = [191,54,12]; % 最大值颜色
mincolor = [255,255,255]; % 最小值颜色

% 绘制坐标轴
m = length(mat);
imagesc(1:m,1:m,mat)
xticks(1:m)
xlabel(‘Predict class‘,‘fontsize‘,10.5)
xticklabels(label)
yticks(1:m)
ylabel(‘Actual class‘,‘fontsize‘,10.5)
yticklabels(label)

% 构造渐变色
mymap = [linspace(mincolor(1)/255,maxcolor(1)/255,64)‘,...
         linspace(mincolor(2)/255,maxcolor(2)/255,64)‘,...
         linspace(mincolor(3)/255,maxcolor(3)/255,64)‘];
    
colormap(mymap)
colorbar()

% 色块填充数字
for i = 1:m
    for j = 1:m
        text(i,j,num2str(mat(j,i)),...
            ‘horizontalAlignment‘,‘center‘,...
            ‘verticalAlignment‘,‘middle‘,...
            ‘fontname‘,‘Times New Roman‘,...
            ‘fontsize‘,10);
    end
end

% 图像坐标轴等宽
ax = gca;
ax.FontName = ‘Times New Roman‘;
set(gca,‘box‘,‘on‘,‘xlim‘,[0.5,m+0.5],‘ylim‘,[0.5,m+0.5]);
axis square

% 保存
saveas(gca,‘m.png‘);

结果展示

技术分享图片

Matlab绘制混淆矩阵

原文:https://www.cnblogs.com/gshang/p/14669340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!