Matlab 用矩阵画图

这篇具有很好参考价值的文章主要介绍了Matlab 用矩阵画图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Part.I Introduction

本文汇总了 Matlab 用矩阵画图的几种方式。

Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言

Chap.I 预备知识

关于 *.mat 文件

*.mat文件是 matlab 的数据存储的标准格式,它是标准的二进制文件,还可以 ASCII 码形式保存和加载,在 MATLAB 中打开显示类似于单行 EXCEL 表格,加载和存储 mat 文件的语法:

// 加载 mat 文件
load('C:\Users\Lenovo 110\Desktop\Clustering-master\data\toy_clustering.mat')
// 保存 mat 矩阵
// 第一个参数是文件路径,后面的参数矩阵名字,类似于load
// 当只有第一个参数的时候,会把工作空间所有的矩阵都存在一个文件中
save('C:\Users\Lenovo 110\Desktop\Clustering-master\data\mydata.mat','r2','r3')	

Chap.II 概要

用矩阵画图主要有如下几种方式:

// 方式 1  --  常用
imshow(SST);		// imshow(SST,[]);
// 方式 2
F1=mapminmax(SST); %F1 ∈[-1,1]
F1=F1.*0.5+0.5; %F1 ∈[0,1]
// 方式 3  --  常用
imagesc(SST);
// 方式 4
contourf(SST,'LineStyle','none');
colormap(jet); colorbar
// 方式 5
pcolor(SST);

Chap.III 杂记

下面是一些杂记

R = corrcoef(cov1);		  		// 求协方差矩阵的相关系数矩阵

Part.II 用矩阵画图

Chap.I 摸索过程

1.首先加载一个矩阵:
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
可以看到,矩阵当中有nan,也有正常数据。为了可以总览全局,我将这些数据放到Excel里面,然后在缩小一下如下图:

Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
然后对矩阵的特征进行一下介绍:

[a,b]=size(m);
num=a*b-numel(find(isnan(a)));                  %矩阵中除了nan外所有元素的个数
m1=reshape(m,a*b,1);      %搞成一个列向量
max1=max(m1);             %计算最大值
min1=min(m1);             %计算最小值
mean1=nanmean(m1);        %计算除nan之外的均值
mode1=mode(m1);           %除了nan 返回值最小的那个众数
med1=nanmedian(m1);       %求除了nan的中位数
// -----------------------------------------
217x217
max1=20.21
min1=1.22
med1=7.055

对数据的样子有了一个大概的了解,下面开始尝试画图。

代码 图像
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
imshow(SST); Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
imshow(SST,[]); Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
F1=mapminmax(SST); %F1 ∈[-1,1]
F1=F1.*0.5+0.5; %F1 ∈[0,1]
% [y,ps] = mapminmax(SST);
% ps.ymin = 0;
% [y,ps] = mapminmax(SST,ps); %这三行与上面两行异曲同工
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
imagesc(SST); Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
contourf(SST,'LineStyle','none');colormap(jet);colorbar Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
pcolor(SST); Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
A=[0.8 0.1 0.5
0.2 0.4 0.7
0.5 0.3 0.6];
imagesc(A);
colormap jet
colorbar;
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言
A=[0.8 0.1 0.5
0.2 0.4 0.7
0.5 0.3 0.6];
imagesc(A);
colorbar
caxis([0 1])
[M, N] = size(A);
set(gca, 'XTick', 1:M,'XTickLabel', {'0','1','2'})%X坐标轴刻度数据点位置、字符
set(gca, 'YTick', 1:N, 'YTickLabel', {'0','1','2'})
loc = get(xlabel(''), 'position');
text(loc(1), loc(2), loc(3), 'Predicted label', 'HorizontalAlignment','center');
set(gca, 'XAxisLocation', 'top')
ylabel('True label')
title('Confusion matrix')
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言

目前就会这几种,第六个最好用;imshow() 只能显示灰度在 [0,1] 之间的,大于 1 的显示为白色;imagesc() 将图像显示为彩色,没有取值限制;colormap() 可将图像显示为彩色,关于 colormap 可以参看下面的文章:

https://blog.csdn.net/weixin_42943114/article/details/81811556

Chap.II 绘制专业图

下面一起来出一个比较专业的图,所用的数据还是上面那个217x217的矩阵。
代码如下:

X=117:0.0416666666666:126;
Y=33:0.0416666666666:42;
x0=2*24:2*24:217; % 每隔两度标一下
y0=2*24:2*24:217;
x=119:2:126;  %标注用的
y=35:2:42;    %标注用的
x1=sprintfc('%g',x);%转成字符串数组
y1=sprintfc('%g',y);%转成字符串数组
n=size(x1,2);
for i=1:n
    x1{1,i}=[x1{1,i},'°E'];
    y1{1,i}=[y1{1,i},'°N'];
end

figure1 = figure;
ax2=axes('Parent',figure1);;%有子图时,ax2=subplot(2,3,2);
contourf(SST1,'LineStyle','none')
colormap(jet);
set(gca,'XTick',x0,'XTicklabel',x1);   %设置x,y轴
set(gca,'YTick',y0,'YTicklabel',y1);
set(gca,'FontName','Times New Roman'); %更改字体为罗马
xlabel('(a)  SST');
set(ax2,'XAxisLocation','top');%把x坐标轴搞到上面去
h=colorbar;
set(get(h,'Title'),'string','K'); %给colorbar加上单位

结果:
Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言

Chap.III 矩阵转tiff

用的还是 2 中的那个矩阵

GeoRef = georasterref('Rastersize',size(SST'),'Latlim',[double(min(Lat)),double(max(Lat))],'Lonlim',[double(min(Lon)),double(max(Lon))]);
%数据的写出
% data = flipud(SST');
SST_Tif = ['C:\Users\hp\Documents\MATLAB\','A20160922016121_01.tif'];
geotiffwrite(SST_Tif,flipud(SST'),GeoRef)

注意图的正反,下图才是正着看的:

Matlab 用矩阵画图,# Matlab,matlab,矩阵,开发语言文章来源地址https://www.toymoban.com/news/detail-765342.html

到了这里,关于Matlab 用矩阵画图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • matlab画图(一、柱状图)

    🐋 前言:柱状图利用柱子的高度,反映数据的差异。肉眼对高度差异很敏感,辨识效果非常好。柱状图的局限在于只适用中小规模的数据集。 🐬 目录: 一、数据获取 二、简单柱状图 三、分组柱状图 四、堆叠柱状图 一、数据获取 统计图的绘制离不开数据的支撑。一般来说

    2024年01月20日
    浏览(41)
  • matlab画图方法(持续更)

    创建画布:figure(1);         % 在同一个脚本文件里面,要想画多个图,需要给每个图编号,否则只会显示最后一个图 plot(x, y, \\\'o\\\', new_x, p, \\\'r--\\\') plot(x1,y1,x2,y2)          在各个分块位置创建坐标区。 subplot(m,n,p)当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。   

    2024年02月12日
    浏览(28)
  • 【matlab图像处理】图像直方图操作和matlab画图

    中国史之【平王东迁】: 公元前771年,因镐京曾遭地震,残破不堪,又接近戎、狄等外患威胁,周平王遂在郑、秦、晋等诸侯的护卫下,将国都东迁至洛邑,东周历史由此开始。 ——来源:全历史APP 【路漫漫其修远兮,吾将上下而求索】 今天介绍图像的直方图操作以及用

    2024年02月04日
    浏览(32)
  • 添加背景图片画图matlab

    clear clc close all cd(\\\'C:UserswindDesktop\\\') ha=axes(\\\'units\\\',\\\'normalized\\\',\\\'position\\\',[0 0 1 1]); uistack(ha,\\\'down\\\') II=imread(\\\'PP.png\\\'); image(II) colormap gray set(ha,\\\'handlevisibility\\\',\\\'off\\\',\\\'visible\\\',\\\'off\\\'); x=-pi:0.1:pi; y=x.*sin(x.*cos(x)).*tan(x); plot(x,y,\\\'LineWidth\\\',2) set(gca,\\\'color\\\',\\\'none\\\') %这里以前自己没有注意

    2024年04月09日
    浏览(31)
  • Matlab 画图(全网最优质文章)

    只需要把bar换成bar3即可。 只需要把bar改成barh即可: 把pie该为pie3即可 在另一篇博客上有详解,如下: Matalb画雷达图(四行代码) 分别控制左右坐标就可以了,不要太简单。而且可以很多种图形任意搭配。 subplot函数: 使用方法:subplot(m,n,p)或者subplot(m n p)。 subplot是将

    2024年02月02日
    浏览(31)
  • 【Matlab】画图时去掉某些图例

    在Matlab中,legend函数用于在图形中添加图例,以便更好地理解和解释数据。图例提供了与图形相关的标识,使观察者能够了解图形中不同元素的含义。 legend 函数的语法如下: 其中,每个标签参数代表一个数据系列或图形对象的名称。可以根据需要提供多个标签,每个标签将

    2024年02月15日
    浏览(34)
  • 【基本绘图注释函数】——MatLab画图

    在绘图中添加标签。此类函数的输入是一个字符串。MATLAB 中的字符串是用双引号 (\\\") 引起来的。 上面一部分画图代码这里省略 为y轴增加注释标签 增加图例。可以添加多个,参数之间用逗号隔开

    2024年02月16日
    浏览(26)
  • Matlab画图导出Latex论文插图

    效果  也可以在图窗里打开属性编辑器进行修改,感觉改完效果好点   修改完选择另存为eps格式,在latex中使用代码添加图片 latex文档开头要添加包  

    2024年02月16日
    浏览(24)
  • MATLAB常见错误之plot画图失败

    错误使用 matlab.graphics.internal.newplotwrapper 尝试将 SCRIPT newplotwrapper 作为函数执行: C:Program FilesPolyspaceR2020atoolboxmatlabgraphics+matlab+graphics+internalnewplotwrapper.m怎么解决 应该是动了newplotwrapper的内部代码 解决: 找到您的Matlab安装文件夹。在Windows上,默认情况下位于 C:Program

    2024年02月15日
    浏览(31)
  • MATLAB:很好用的画图函数tiledlayout(),超棒 ~~

    @TOC   最近用MATLAB画图,发现使用subplot()画多个图时,不能共享一个颜色栏,而且布局和填充非常不方便,偶尔看到有位仁兄在留言中说了这个函数,不用不知道,简直太好用了,必须写个博客记录一下! 提示:以下是本篇文章正文内容,下面案例可供参考tiledlayout的官方

    2024年02月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包