• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab 矩阵作图 [转] - 龙豆

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab 矩阵作图 [转]

在论文中咱们会经常看见一类图,比如说多类别文类问题,那么每一个类别分到其他类别都有一写数据,但是分到自己类别的毕竟多,这样计算百分比之后就形成了一个矩阵,如果分类正确率高的话,那么对角线上的元素的值,也就是自己到自己的那一部分,value就大。

我最近也在做多分类问题,要画这样的图,但是发现确实很少有代码,自己画的确实不好看,还牵扯到值的显示和x轴标签的旋转问题,所以一直自己也没空仔细研究,就去stackoverflow问了一下,马上就得到了答案,stackoverflow是个好站点啊,关于计算机领域等的问答系统。很多牛人在上面。

下面我整理了一下代码,用的答案是gnovice的,分享出来,加入函数的输入就是一个矩阵了。

function draw_cm(mat,tick)

%%

%  作者: 丕子  shamoxia.com

%  参数:mat-矩阵;tick-要在坐标轴上显示的label向量,例如{\'label_1\',\'label_2\'...}

%

%%

imagesc(mat);            %# 绘彩色图

colormap(flipud(gray));  %# 转成灰度图,因此高value是渐黑色的,低value是渐白的

num_class=size(mat,1);

 

textStrings = num2str(mat(:),\'%0.2f\');

textStrings = strtrim(cellstr(textStrings));

[x,y] = meshgrid(1:num_class);

hStrings = text(x(:),y(:),textStrings(:), \'HorizontalAlignment\',\'center\');

midValue = mean(get(gca,\'CLim\'));

textColors = repmat(mat(:) > midValue,1,3);

%改变test的颜色,在黑cell里显示白色

set(hStrings,{\'Color\'},num2cell(textColors,2));  %# Change the text colors

 

set(gca,\'xticklabel\',tick,\'XAxisLocation\',\'top\');

rotateXLabels(gca, 45 );

 

set(gca,\'yticklabel\',tick);

 

里面的代码rotateXLabels(gca, 45 );是用来对x轴的label进行旋转的,防止因为太长而重叠,用的是Ben Tordoff写的,自己可以去下载这个function,这里我就不列出来了。

举个例子吧:

clc;

clear;

figure(1);

mat = rand(6);

draw_cm(mat,{\'label_1\',\'label_2\',\'label_3\', \'label_4\', \'label_5\', \'label_6\'});

 

 

出来的图:

[转] http://www.zhizhihu.com/html/y2010/2267.html

 

-------------

 

matlab如何读入mat型的矩阵 ? 

a=load(\'filename.txt\');
filename.txt 存数据的文本文件,在当前路径一般指在work文件夹下.可以用绝对路径,比如:
a=load(\'d:\my\filename.txt\');
运行后a中的数据即为文件中的数据.

你的数据文本内容格式如下:
1,2,3,4,5
6,7,8,9,10
...
除了逗号(,)也可以使用空格( )或者制表符(TAB键)等形式,那load进来就是矩阵了

要连续TXT就用for循环吧~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
使用delphi程序动态改变当前鼠标箭头的样式发布时间:2022-07-18
下一篇:
[Delphi]如何挂上IDocHostUIHandler接口实现?发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap