zoukankan      html  css  js  c++  java
  • Matlab绘制混淆矩阵

    需求

    假设你手上已经拿到了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');
    

    结果展示

    © 版权声明
    文章版权归作者所有,未经允许请勿转载。
  • 相关阅读:
    图片服务器的搭建
    Nginx的安装和部署
    Zookeeper安装和部署
    集合框架
    案例-学生成绩管理
    java 时间类
    Java 正则表达式
    Java字符串
    Java学生管理系统
    shell实例利用crontab自动清除日志
  • 原文地址:https://www.cnblogs.com/gshang/p/14669340.html
Copyright © 2011-2022 走看看