图表可视化
2021-6-1
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property

图线的绘制与装饰

使用plot()函数绘制图线

在MATLAB中,使用plot()函数绘制图线:
各参数意义如下:
  • x: 图线上点的x坐标
  • y: 图线上点的y坐标
  • LineSpec: 图线的线条设定,三个指定线型标记符号颜色设定符组成一个字符串,设定符不区分先后
notion image
绘制(0,2π)内余弦函数的图像:
notion image
 

装饰图线

  • 使用legend()函数为图片增加图例
    • 使用legend(label1, ..., labelN)函数可以为图片添加图例.
      notion image
  • 使用title()*label()为图片增加标题和标签
    • notion image
notion image
  • 使用text()annotation()为图片增加注解
    • notion image
 

控制坐标轴、边框与网格

notion image
下面的例子演示axis命令的效果:
notion image
notion image
notion image
 
 
 
 
 

绘制多条图线

在一个图像上绘制多条图线
默认情况下,每次执行plot()函数都会清除上一次绘图的结果,多次执行plot()只会保留最后一次绘制的图形.
notion image
可以使用hold onhold off命令控制绘图区域的刷新,使得多个绘图结果同时保留在绘图区域中:
notion image
 
在一个窗口内绘制多个图像
使用subplot()函数可以在一个窗口内绘制多个图像:
该命令表示将当前图窗划分为m×n个网格,并在第p个网格内绘制图像.
notion image

图形对象的操作

在MATLAB中,图形都是以对象的形式储存在内存中,通过获取其图形句柄可以对其进行操作.
notion image

获取图形句柄

图形句柄本质上就是一个浮点数,可以唯一确定一个图形对象.下面几个函数用于获取图形句柄
notion image
所有绘图函数也会返回图形对象的句柄.
notion image

通过图形句柄操作图形属性

使用get()set()函数可以对图形对象的属性进行访问和修改
  • set(H,Name,Value)
  • v = get(h,propertyName)
notion image
下面两个例子演示使用图形句柄操作图形对象:
  1. 改变坐标轴属性:
    1. notion image
  1. 改变线型
    1. notion image
 

将图形保存到文件

使用saveas(fig,filename)命令可以将图形对象保存到文件中,其中fig为图形句柄,filname为文件名.
使用saveas()函数将图像保存成位图时,会发生失真,要精确控制生成图片的质量,可以使用print()函数
notion image

二维图表

notion image
 

折线图

notion image

对数坐标系图线

notion image
对数坐标系可以加上网格,以区分线性坐标系与对数坐标系.
notion image

双y轴图线

plotyy()的返回值为数组[ax,hlines1,hlines2],其中:
  • ax为一个向量,保存两个坐标系对象的句柄.
  • hlines1hlines2分别为两个图线的句柄.
notion image

极坐标图线

notion image
 
 

统计图表

notion image
notion image

直方图

使用hist()绘制直方图,语法如下:
其中:
  • x表示原始数据
  • nbins表示分组的个数
notion image

柱状图

  • 使用bar()bar3()函数分别绘制二维和三维直方图
    • notion image
      hist主要用于查看变量的频率分布,而bar主要用于查看分立的量的统计结果.
  • 使用barh()函数可以绘制纵向排列的柱状图
    • notion image
  • bar()传入'stack'参数可以让柱状图以堆栈的形式画出.
    • notion image

饼图

使用pie()pie3()可以绘制二维和三维的饼图.向其传入一个bool向量表示每一部分扇区是否偏移.
notion image

阶梯图和针状图:绘制离散数字序列

stairs()stem()函数分别用来绘制阶梯图和针状图,用于表示离散数字序列.
notion image

其它统计图表

  • boxplot()
    • notion image
  • errorbar()
    • notion image
notion image
notion image
 

绘制图形

MATLAB也可以绘制简单的图形,使用fill()函数可以对区域进行填充.
notion image
notion image

三维图表

二维图转为三维图

在MATLAB中,所有的图都是三维图,二维图只不过是三维图的一个投影.点击图形窗口的Rotate 3D按钮,即可通过鼠标拖拽查看该图形的三维视图.
notion image

三维图转换为二维图

使用imagesc()函数可以将三维图转换为二维俯视图,通过点的颜色指示高度.
notion image
使用colorbar命令可以在生成的二维图上增加颜色与高度间对应关系的图例,使用colormap命令可以改变配色方案
notion image
 
 
 

三维图的绘制

notion image
notion image

绘制三维图前的准备工作:使用meshgrid()生成二维网格

我们对一个二维网格矩阵应用函数z=f(x,y)才能得到三维图形,因此在得到三维数据之前我们应当使用meshgrid()函数生成二维网格矩阵.
meshgrid()函数将输入的两个向量进行相应的行扩充和列扩充以得到两个增广矩阵,对该矩阵可应用二元函数.
我们得到了生成的二维网格矩阵如下:

绘制三维线

使用plot3()函数即可绘制三维面,输入应为三个向量.
notion image
下面例子绘制了两个螺旋线:
notion image

绘制三维面

使用mesh()surf()命令可以绘制三维面,前者不会填充网格而后者会.
notion image

绘制三维图形的等高线

使用contour()contourf()函数可以绘制三维图形的等高线,前者不会填充网格而后者会.
notion image
contour()函数传入参数或操作图形句柄可以改变图像的细节:
notion image
使用meshc()surfc()函数可以在绘制三维图形时绘制其等高线.
notion image

绘制三维体

使用patch()函数可以绘制三维体.
notion image

三维图的视角与打光

调整视角

使用view()函数可以调整视角,view()函数接受两个浮点型参数,分别表示两个方位角azimuthelevation.
notion image
notion image
 

调整打光

使用light()函数可以对三维图形进行打光,并返回光源的句柄.
通过对光源的句柄进行操作可以修改光源的属性
notion image
 
 

三维图形的装饰和添加注释

notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
 
  • Matlab
  • GUI线性方程式与线性系统
    目录