Matlab 用矩阵画图 | 您所在的位置:网站首页 › 如何用matlab做矩阵 › Matlab 用矩阵画图 |
文章目录
Part.I IntroductionChap.I 预备知识Chap.II 概要Chap.III 杂记
Part.II 用矩阵画图Chap.I 摸索过程Chap.II 绘制专业图Chap.III 矩阵转tiff
Part.I Introduction
本文汇总了 Matlab 用矩阵画图的几种方式。 关于 *.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.首先加载一个矩阵:
对数据的样子有了一个大概的了解,下面开始尝试画图。 代码图像–![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 目前就会这几种,第六个最好用;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加上单位结果: 用的还是 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)注意图的正反,下图才是正着看的: |
CopyRight 2018-2019 实验室设备网 版权所有 |