MATLAB绘图方法总结

二维曲线

1.\(plot(x)\)

  若\(x\)内为实数,则该函数以向量下标为横坐标,向量内对应的值为纵坐标绘制折线。
  若\(x\)内为复数,则该函数以实部为横坐标,虚部为纵坐标绘制折线。

2.\(plot(x,y)\)

  若\(x\)\(y\)为两个长度相等的向量,则它们分别对应\(x\)坐标和\(y\)坐标,将绘制出一条折线。
  若\(x\)是向量,\(y\)是矩阵,则以向量\(x\)为横坐标,\(y\)的列元素为纵坐标绘制出若干条折线。
  若\(x\)\(y\)为同型矩阵,则以\(x\)\(y\)对应的列元素为横纵坐标绘制出若干条折线。

3.\(plot(x_1,y_1,x_2,y_2,\dots,x_n,y_n)\)

  该函数分别以每一对\((x_i,y_i)\)绘制\(n\)条折线。

4.\(plot(x,y,'opt')\)

  可在plot函数后面添加选项,主要有线型,颜色,数据点标记三种。
  线型:"-"对应实线,":"对应虚线,"-."对应点画线,"--"对应双画线\(\dots\)
  颜色:"r"对应红色,"b"对应蓝色,"g"对应绿色,"w"对应白色,"k"对应黑色\(\dots\)
  数据点标记:"*"对应星号,"o"对应圆圈,"s"对应方块,"p"对应五角星,"^"对应朝上三角符号\(\dots\)
  用法举例:\(plot(x_1,y_1,'k:',x_2,y_2,'b--',x_1,y_3,'rp')\)

5.\(fplot(f,lim,'opt')\)

  \(f\)是一个函数,通常采用函数句柄形式,@为定义句柄的运算符。
  \(lim\)为函数\(x\)轴取值范围,用二元向量\([xmin,xmax]\)描述。
  用法举例:\(fplot(@(x)sin(1./x),[0,0.02],'b')\)

6.\(fplot(fx,fy,tlim,'opt')\)

  该函数用于描绘参数方程表示出来的函数图像,\(fx\)\(x\)关于\(t\)的函数\(fy\)\(y\)关于\(t\)的函数,\(tlim\)\(t\)的取值范围

绘制图形的辅助操作

1.给图形添加标注

  \(title('x')\)用于给图像添加标题
  \(title('x','y')\)用于给图像添加多行标题
  \(title('x','name','opt')\)用于改变图像标题属性,如\('Color'\)改变标题颜色,\('FontSize'\)改变标题字号。

  \(xlabel(x)\)用于给\(x\)轴添加说明,用法同上
  \(ylabel(x)\)用于给\(y\)轴添加说明,用法同上

  \(text(x,y,w)\)用于给图像中\((x,y)\)位置添加说明
  \(gtext(w)\)用于给图像中鼠标确定的位置添加说明

  \(legend('x','y','z')\)用于给图像添加图形标注,顺序和调用\(plot\)时的顺序一致

2.坐标控制

  \(axis(xmin,xmax,ymin,ymax)\)用于控制图像的坐标范围
  \(grid\) \(on\)命令用于在坐标系中显示网格,\(grid\) \(off\)用于消去网格

3.图形保持

  执行MATLAB时每次默认刷新图形窗口,若希望在已存在的图形上叠加新图形,可以使用\(hold\) \(on\)命令保持图形

4.图形窗口的分割

  \(subplot(m,n,p)\)将图形窗口分成\(m*n\)个绘图区,指定当前处理第\(p\)块区域

其他形式的二维图形

1.其他坐标系下的二维曲线图

  对数坐标图\(semilogx(x_1,y_1,'opt',x_2,y_2,'opt',\dots)\)函数内部参数与\(plot\)用法一致,其中绘图时会将\(x\)取对数。
  据此不难理解\(semilogy()\)\(loglog()\)函数的用法

  极坐标图\(polar(\theta,\rho,'opt')\)函数内部参数与\(plot\)用法一致

2.统计图

  条形图:\(bar(y,style)\)中,\(y\)的每一行元素在图中为一组,\(style\)参数用于确定分组模式,有\(grouped\)\(stacked\)两种
      \(bar(x,y,style)\)中,\(x\)储存横坐标,\(y\)储存数据

  直方图:\(hist(y,x)\)中,\(y\)是要统计的数据,\(x\)是指定区间的划分方式。
      若\(x\)为标量,则将\(y\)的值域等分成\(x\)个区间画图。若\(x\)是矢量,里面的每一个元素就是直方图区间的中点。

  扇形图:\(pie(x,k)\)中,\(x\)为待统计数据,\(k\)为显示模式,\(k\)\(x\)为等长向量,\(k\)\(1\)处对应的\(x\)扇形会突出显示
      扇形图调用\(legend(a,b)\)时,需在末尾添加\('location'\)参数,以及参数的值,如\('eastoutside'\),否则图例会遮挡

  散点图:\(scatter(x,y,'opt','filled')\)中,前三个参数用法和\(plot\)函数相同,\(filled\)可以填充数据点标记

3.矢量类图形

  罗盘图:\(compass()\)用法和\(plot\)相似
  羽毛图:\(feather()\)用法和\(plot\)相似
  箭头图:\(quiver()\)用法和\(plot\)相似

三维曲线

1.\(plot3(x,y,z)\)

  若\(x,y,z\)是等长向量,则它们组成一组曲线的坐标。
  若\(x,y,z\)是同型矩阵,则它们对应的每一列作为一条曲线。

2.\(plot3(x_1,y_1,z_1,x_2,y_2,z_2,\dots,x_n,y_n,z_n)\)

  该函数分别以每一对\((x_i,y_i,z_i)\)绘制\(n\)条折线。

3.\(plot3(x,y,z,'opt')\)

  该函数含选项,用法和先前类似。

4.\(fplot(fx,fy,fz,tlim)\)

  该函数用于描绘参数方程,用法和先前类似。

三维曲面

1.\(mesh(X,Y,Z,c)||surf(X,Y,Z,c)\)

  已知自变量的平面范围,设\(x\)为自变量\(x\)坐标的所有取值,\(y\)为自变量\(y\)坐标的所有取值,X矩阵为平面内每个点的x坐标,Y矩阵为平面内每个点的y坐标。
  那么调用如下命令即可算出X,Y:

[X,Y]=meshgird(x,y);

  然后利用函数算出平面内每一个点的\(z\)坐标,记为\(Z\)
  调用\(mesh(X,Y,Z,c)\)\(surf(X,Y,Z,c)\)即可生成三维曲面,其中\(c\)是参数,用于表示不同高度下曲面的颜色。
  注意\(mesh\)函数生成的曲面,线条有颜色;\(surf\)函数生成的曲面,曲面有颜色。
  其他类似函数:\(meshc\)有等高线,\(meshz\)有底座,\(surfc\)有等高线,\(surfl\)有光照效果

2.\(sphere(n)\)

\([X,Y,Z]=sphere(n)\)绘制出圆心为原点,半径为\(1\)的单位球面,参数\(n\)决定了球面的圆滑程度,默认\(20\)\(n\)越大越圆滑。

3.\(cylinder(R,n)\)

\([X,Y,Z]=cylinder(R,n)\)表示柱面,\(R\)是向量,存放各个等间隔高度圆上的半径,\(n\)表示圆柱圆周上有\(n\)个间隔点。

4.\(peaks函数\)

\(peaks\)函数可生成多峰函数图像

图形修饰处理

1.视点处理

2.色彩处理

3.剪裁处理

posted @ 2021-08-17 15:09  Alkaid~  阅读(723)  评论(0编辑  收藏  举报