Matlab绘图方法整理(超完整版)
推荐:
使用Matlab绘图
图像是结果的一种可视化表现,它能直观的体现你的结果,并且能体现你获得结果的准确性,在当前的大数据时代,在做数据分析的时候,将其可视化可以直观多维的展示数据,可以让人们更好的发现并且记住数据的特征,因此很多时候掌握一些绘图方法是非常重要的,而使用MATLAB可以非常简单的进行绘图(当然还有很多其它工具可供使用),下文是一些基本绘图方法的整理,其中很多很多内容非常基础,希望对你能有些帮助。
二维作图
二维图像是我们在学习过程中经常会接触到的图像,比如在做数学题目时随手画出的一个正弦曲线,这个图像往往是我们根据它的函数做出来的,事实确是这样,在我们学习过程中画出来的每一个图像几乎都是函数,反过来说,每一个函数都对应着它自己的图像,我们能画出来的二维图像往往是一个一元函数即二元方程,在Matlab中做二维图像也是这样,我们根据一个函数来画出它的图像,不过要注意的一点是,在Matlab画图的过程中,它并不认识你给出的那个函数,它要做的仅仅是把你给出的函数上的点连成线而已。
plot和fplot
在Matlab里面做二维图像最基础也是最常用的两个函数:plot()和fplot()函数,其中,plot的经常使用的方法有下面三种:
首先,第一种方法里面若x为一维数组,则作出的图像是以其数组长度为横坐标,间隔为1,以数组中的具体值为纵坐标的。而其也可以为复数变量,如下:
对于第二种形式就更好理解了,往往其中的x、y都为一维数组,其实y也就是x对应的函数值,后边的参数用于指定曲线的线形、颜色和数据点标记,如下:
可以看到,x是一个长度为1001的一维数组,y是和x等长的在sin(x)上的一维数组,后边的-r*
分别为曲线线性、颜色、数据点标记,其中参数的一些具体属性如下表所示:
这些就是基本的绘图参数指令,搭配使用效果更佳。关于参数的使用是在每种方法中都可以添加,三种常用示例只是简单示例。关于第三种使用方法,意思是把n个图像做出在一个窗口中,同时也少敲了几个plot,当然,如果你想把代码分开写也可以,只需要加上hold on命令就行了,关于它后文会有介绍。
而关于fplot,其基本使用方法如下:
在第一种方法中,f代表一个函数,通常采用函数句柄的形式。lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。参数定义与plot函数相同。例如使用fplot函数绘制sin(x)图像如下:
在第二种方法中,funx、funy代表函数,通常采用函数句柄的形式。tlims为参数函数funx和funy的自变量的取值范围,用二元向量[tmin,tmax]描述。如绘制参数方程(x=tsint,y=tcost)曲线如下:
其它形式下的二维曲线图
上文举例说明了最基础最常用的两个做二维曲线的函数,实际上,二维图形的种类还有很多,不光只有一根线构成的曲线图,还有各种统计图、坐标图等等,相应的在Matlab中也有画它们图形的方法,下面是其它几种图形作图方法(非全部):
对数坐标图
其中,semilogx函数x轴为常用对数刻度,y轴为线性刻度;semilogy函数x轴为线性刻度,y轴为常用对数刻度;loglog函数x轴和y轴均采用常用对数刻度。
极坐标图
其中,theta为极角,rho为极径,参数内容与plot相同。
条形图
第一个,参数y是数据,选项style用于指定分组排列模式,模式有两种供选择,分别为:'grouped':簇状分组,'stacked':堆积分组。
第二个,x存储横坐标,y存储数据,y的行数必须与向量x的长度相同。选项style用于指定分组排列模式。
具体效果请自行练习查看。
直方图
其中,y是要统计的数据,x用于指定区间的划分方式。若x是标量,则统计区间均分成x个小区间;若x是向量,则向量x中的每一个数指定分组中心值,元素的个数为数据分组数。x缺省时,默认按10个等分区间进行统计。
其中,参数theta用于确定每一区间与原点的角度,选项x用于指定区间的划分方式。
面积类图形
其中,参数x存储待统计数据,选项explode控制图块的显示模式。使用如下,可以试着改下参数或者help一下看看。
散点类图形
其中,x、y用于定位数据点,选项用于指定线型、颜色、数据点标记。如果数据点标记是封闭图形,可以用选项’filled’指定填充数据点标记。该选项省略时,数据点是空心的。
一颗心:
矢量类图形
其中,(x,y)指定矢量起点,(u,v)指定矢量终点。x、y、u、v是同样大小的向量或同型矩阵,若省略x、y,则在x-y平面上均匀取若干个作为起点。
进阶:双Y轴绘图
示例代码:
三维作图
在上文的二维作图示例中我们可以知道二维作图的基本方法,而有时候二维的图形满足不了我们的需要,这个时候就需要做一些三维图像了,而三维图像里边除了包含曲线作图之外还包含曲面作图。
三维曲线
在二维曲线作图里边我们主要使用的函数是plot和fplot函数,而在三维曲线作图里面我们使用的是plot3和fplot3函数,其不但长得像,功能也是差不多的,只不过是做了扩展而已。
plot3和fplot3
关于plot3函数,其基本用法如下:
是不是似曾相识,没错,它和plot功能确实非常像,只是多了一维数据而已。如要画出sin(x)的三维图,只需这样就好:
怎么样,是不是非常简单,假如要绘制个空间的螺旋线,其参数方程为:x=sint+tcost,y=cost-tsint,z=t,只需这样就好:
对于plot3函数来讲,它的参数x,y,z不止可以是一维数组,实际上:
参数x、y、z是同型矩阵时,以x、y、z对应列元素绘制曲线,曲线条数等于矩阵列数。
参数x、y、z中有向量,也有矩阵时,向量的长度与矩阵相符。
对于其不止一组数据的方法2,其作用与plot类似,每一组x、y、z向量构成一组数据点的坐标,绘制一条曲线。
而plot3函数的后面线型、颜色和数据点标记的参数则与plot完全一致。
对于fplot3函数,其基本引用方法如下:
其中,funx、funy、funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5],与fplot是几乎完全一致的,不再举例。
三维曲面
在做三维曲面图的时候,第一步往往是生成一个平面网格,这个平面网格是什么东西呢,其实就是用矩阵X、Y分别存储每一个小矩形顶点的x坐标与y坐标,矩阵X、Y就是该矩形区域的xy平面网格坐标矩阵:
说的简单些,就是给我们要用的空间坐标系做个底面出来,本来x、y都是一维向量,它们也就是只能当两根轴,这个时候用新的两个X、Y矩阵来把空间坐标系的二维地面给表示出来,这样的话每一个[X,Y]就都能对应一个Z了,就是这个意思。在MATLAB中,产生平面区域内网格坐标矩阵有两种方法:
1.利用矩阵运算生成:
2.利用meshgrid函数生成:
绘制三维曲面的函数
其中,x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色。c省略时,颜色的设定正比于图形的高度。
当x、y省略时,z矩阵的第2维下标当作x轴坐标,z矩阵的第一维下标当作y轴坐标。
另外还有一些其它的绘制三维曲面的函数:
这些函数使用都和mesh还有surf大致相同,可自行练习了解。
标准三维曲面
产生3个(n+1)阶的方阵,采用这3个矩阵可以绘制出圆心位于原点、半径为1的单位球体。
其中,参数R是一个向量,存放柱面各个等间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,默认有20个间隔点。
peaks函数
调用格式:
fmesh函数和fsurf函数
用于绘制参数方程定义的曲面
其中,funx、funy、funz代表定义曲面x、y、z坐标的函数,通常采用函数句柄的形式。uvlims为funx、funy和funz的自变量的取值范围,用4元向量[umin,umax,vmin,vmax]描述,默认为[-5,5,-5,5]。
图形修饰辅助操作
到这里,不管是二维曲线三维曲线还是曲面,大家掌握的方法都差不多了,图大概率是能被我们做出来了哈哈哈,不过能把图做出来固然重要,可更重要的是还能做出美图来,这就离不开我们的图形修饰了,比如给做好的图形加个标题加个注释什么的,我们要做出来图,还要做出来细图,更要做出来美图,接下来文章将列举我们经常使用的并且很有用的图形修饰辅助操作。
基础绘图指令
除去上文所述plot等绘图函数命令之外,还有有一些其它修饰图形的常用命令。
这些呢是一些常用的辅助绘图指令,没有参数,直接在脚本输入就行,功能已经列在表中非常明确,大家可以自行练习查看实用效果。
接下来是一些带参数的绘图指令,它们可以帮你进行图形标注、坐标控制等等一系列功能,非常实用,记得好好学习。
图形标注函数
值得一提的是,上面这些函数的使用方法远不及示例这么简单,它们都有非常多的参数可供选择使用,示例只是列出最简单、最常用的方法,下面是两段代码:
图形窗口分割函数subplot
其中,m和n指定将窗口分成mXn个绘图区,p指定的是当前图像所在区域,如m=2,n=3,则一个figure窗口被分成2行三列供6个绘图区,可以容纳6个图形。若p=3,说明当前图像要被画进第三个窗口,也就是第二行第一列的窗口内。p小于等于mXn,如:
图形修饰处理
前面写了一些基本绘图指令,可以对我们的图形进行简单的修整,让其变得更完备更好看,接下来是一些对图形修饰的方法。
视点处理
方位角:视点与原点连线在xy平面上的投影与y轴负方向形成的角度,正值表示逆时针,负值表示顺时针。
仰角:视点与原点连线与xy平面的夹角,正值表示视点在xy平面上方,负值表示视点在xy平面下方。
view函数
其中az为方位角,el为仰角。系统默认的视点定义为方位角-37.5°,仰角30°。
色彩处理
默认的,向量元素在[0,1]范围内取值,3个元素一次表示红、绿、蓝三种颜色的相对亮度,称为RGB三元组即[R G B],如[0 0 1]是蓝色,[1 0 0]是红色,[1 1 1]是白色,[0 0 0]是黑色。(当然,也有在[0,255]内取值的,不再介绍)
色图(Colormap)
首先,创建一个色图矩阵方法如下:
其中,parula是内建色图中包含的一个种类,其中参数5可以是任何一个数值,它关系着色图矩阵的范围,一般来说使用的时候省略就好。内建色图如下:
指定当前图形使用的色图
我们也可以不使用系统的色图矩阵,可以自定义任何色图矩阵。如创建一个灰色系列的色图矩阵:
用shading函数来改变着色方式
参数如下:
示例:使用同一色图,以不同着色方式绘制圆锥体
图形的裁剪处理
将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。
示例如下:
总结
好了,感谢你能看到这里,对于这篇文章,它可能的侧重点不是完全教会我们怎么作图,而更多的也可能是提醒我们在Matlab里面可以进行如此操作,对于新手而言,很多没有系统的学习过Matlab的使用,可能里面的很多东西不是我们不会用,而是根本不知道,所以这篇文章大致列出来了很多非常常用的函数方法等,其中的示例仅仅是个示例,它们的用法还有很多,希望大家能够进行再次开拓,深入的了解每个方法的使用。最后,如果你觉得本篇文章对你有用,请点个赞,谢谢!
————————————————
版权声明:本文为CSDN博主「阳寜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:Matlab绘图方法整理(超完整版)_阳寜的博客-CSDN博客_matlab绘图
农林生态、遥感类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | 基于MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化及未来气候变化情景下自然保护区优化评估中的实践技术应用及论文写作技巧高级进阶视频 |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | 基于ArcGIS农业面源污染模拟案例分享视频课程 |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | CASA(Carnegie-Ames-Stanford Approach) 模型原理及实践技术视频课程 |
33 | Noah-MP陆面过程模型建模方法与站点、区域模拟实践技术应用精品课程 |
34 | CLM 陆面过程模式实践技术应用精品课程 |
35 | 土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测技术应用专题课程 |
36 | MATLAB在生态环境数据处理与分析中的应用专题视频课程 |
37 | 城市/农村用地适宜性评价视频课程 |
38 | 合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等实践技术应用视频课程 |
39 | |
40 | 近地面无人机植被定量遥感与生理参数反演实践技术应用进阶视频课程 |
41 | |
42 | |
43 | |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
土壤、地下水、地质类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | 地下水环评(一级)实践技术Modflow地下水数值模拟精品视频课程 |
6 | 水文地球化学模拟 PHREEQC 实践技术应用高级视频课程 |
7 | 三维地质建模数据处理高级实践技术应用视频课程 |
8 | 基于Surfer与Voxler数据处理及可视化实践技术应用精品视频课程 |
9 | 全套环境土壤物理Hydrus1D2D3D模型实践技术应用精品课程 |
10 | 环境土壤物理hydrus2d 3d模型实践应用视频课程 |
11 | 全流程地下水环境影响评价方法及关键技术与化工、工业园区、固废堆积、矿山等 实际项目应用精品视频课程 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
大气科学类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | 地球科学数据(ERA5、雪深、积雪覆盖、海温、植被指数、土地利用)处理实践课程 |
21 | Python在气象与海洋中的实践技术应用精品课程 |
22 | |
23 | 分子动力学LAMMPS模拟实战技术应用精品课程 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
语言类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | R 语言数据统计分析与 ggplot2 高级绘图实践应用精品视频课程 |
27 | 基于R语言的现代线性回归实践技术方法精品课程 |
28 | 基于R语言的分位数回归实践技术高级应用精品课程 |
29 | 基于R语言的现代贝叶斯统计学方法实践技术应用 |
30 | 基于MATLAB深度学习与实践技术应用 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
水文类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | |
2 | |
3 | |
4 | 涉河建设项目防洪评价报告编制技术精品课程 |
5 | |
6 | |
7 | “R 语言+遥感”的水环境综合评价方法实战应用视频课程 |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | 基于DEM的水文分析专题视频课程 |
14 | |
15 | |
16 | |
17 | ArcGIS在水土流失模拟及分析中的实践技术应用精品视频课程 |
18 | 基于遥感与GIS在滑坡、泥石流风险普查中的实践技术应用精品课程 |
19 | 新《生产建设项目水土保持方案技术审查要点》要求下水土保持方案编高级实践技术应用视频课程 |
20 | 实战案例精讲课程!水土保持方案编制实操与典型案例解析视频课程 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
生物信息类视频课程推荐(即买即看,点击文字查看课程内容) | |
---|---|
1 | python 生物信息多组学大数据深度挖掘与论文整理技巧视频课程 |
2 | R 语言生物信息学大数据分析与绘图技术视频课程 |
3 | 基因家族分析及SCI写作技巧实践技术应用精品课程 |
4 | 如何利用 shell 进行上万个基因组的批量分析视频课 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
添加小编微信,海量数据、视频教程免费获取
海量数据免费获取
+
Ai尚研修海量资源(数据、课件、书籍、视频教程)一键免费领取
(点击数据标题,直接进入)
10、【数据分享】中国2000-2010年NPP数据集11、【数据分享】2015年30m土地覆盖数据
12、【数据分享】中国100万植被类型空间分布数据13、【数据分享】更新!31个省级统计年鉴合集(12省更新至2020) 免费下载!14、【数据分享】1982年-2015年全球逐年长时序动态土地覆盖数据产品(GLASS-GLC)15、【数据分享】全网最全!34个省(市、自治区)2001-2020年统计年鉴(免费)16、好资料-百篇高光谱领域的论文,已经帮您整理收集完了,快放进自己文件夹中!!17、【数据分享】中国自然地理分区数据集(包含农业自然、农业熟制、九大农业区划,九大流域片、八大森林工程、生态功能保护区等数据)18、【数据分享】1979-2020年长时间序列遥感降水数据19、【数据分享】碳排放数据地方清单excel表格,分省、市、县(区)免费获取20、【数据资源】最新最全!市级国土空间总体规划制图规范GIS符号库(2021新版
气数据
土地利用数据1、【数据分享】2020年中国土地利用遥感监测数据丨免费下载!2、【数据分享】中国土地利用数据1980-2015 (免费获取)3、【数据分享】土地利用(覆盖)数据下载汇总4、【数据分享】世界土壤数据库(HWSD)全球土壤数据下载处理5、【数据分享】15省《中国土壤分布》土壤分布矢量数据,含使用说明6、【数据分享】中国农田熟制遥感监测数据集7、【数据分享】中国分省、市、县的地形起伏度数据
水文领域数据1、【数据分享】基于DEM提取的中国流域、河网数据免费下载2、【数据分享】中国水系数据,包含长江黄河、湖泊、以及一级三级四级五级河流矢量数据3、【最好用的水文实例计算含过程】水利工程实用水文水利计算
4、【数据分享】中国九大流域矢量数据及2019版最新流域水系(免费下载)
5、【数据分享】全国电子地图SHP数据快来领取啦!(包括道路、水系、银行、绿地、高速出入口、医疗机构、餐饮、超市等信息。)
6、【数据分享】分省份水系数据7、【数据分享】2000~2019 年中国各省、市、区县分年、分月、逐日平均降水量数据8、【数据分享】6G超大超级详细矢量数据,来源于国内某地图导航基底数据
年鉴类数据1、【数据分享】1984-2018中国教育统计年鉴(全部EXCEL格式)免费下载!2、【数据分享】国土资源统计年鉴2005-2017&中国林业统计年鉴1992-20193、【数据分享】一个横跨35年的数据,1985-2019中国城市统计年鉴4、【数据分享】28年《中国工业统计年鉴》免费下载5、【数据分享】最新中国县域统计年鉴(2000-2019年)来了!EXCEL+PDF版本全部免费下载6、【数据分享】中国农业统计资料1949-2019,免费下载 !7、【数据分享】全Excel!中国科技统计年鉴1991-2019(免费)8、【数据分享】全网最全、最新的林业统计年鉴(1996-2019)免费下载9、【数据分享】中国环境统计年鉴:1998-2018(免费)10、【数据分享】《中国文化和旅游统计年鉴》又是一个24年的统计年鉴集合11、【数据分享】最新EXCEL中国统计年鉴2020+经管教材16本+python学习资源(免费)12、【数据分享】国际统计年鉴1995-2019(免费)13、【数据分享】中国海洋统计年鉴2000-2017(免费)14、【数据分享】2000-2020《中国港口年鉴》免费下载
经济类数据1、【数据分享】中国及省级市场化总指数及方面指数:08-192、【数据分享】400万!人口迁徙大数据2019-20203、【数据分享】110+指标!城市面板2003-2018&地形起伏数据集(免费获取)
4、【数据分享】289个城市教育与卫生常有指标面板数据(1996-2020)
部分数据展示,关注Ai尚研修技术平台公众号,更多数据资源轻松下载!
超级会员专享
如何成为超级会员:
1.凡参加Ai尚研修收费课程即为超级会员
1.充值3500元即为Ai尚研修超级会员;
超级会员特权:
1.参加直播与现场课程专享400元会员优惠,同时成为Ai尚研修推广大使,推荐参会分享收益。
2.购买Ai尚研修平台导师视频课程(含导师随行长期指导),享受8.5折优惠。
3.免费享受Ai尚研修会议平台中会员专享下视频课程。
4.长期免费参与每月4期针对地学领域简学实用公开课(优先、无门槛)
5.免费参与任何一门课程开设的导师面对面线上答疑交流。
6.Ai尚研修资源站分享中数据免费下载;
7.会员既成为Ai尚研修合作伙伴,可以进行技术文章、视频教程投稿,分享收益红利,同时所在单位可以通过Ai尚研修新媒体平台进行合作及招聘推广。
扫描咨询
END
Ai尚研修丨专注科研领域
技术推广,人才招聘推荐,科研活动服务
科研技术云导师,Easy Scientific Research