8-MATLAB绘图

来源:互联网 发布:手机版商城源码 编辑:程序博客网 时间:2024/06/05 04:04

1.创建图形窗口

  • 直接创建

    • figure
    • figure(n) 若窗口n存在则将窗口n置为当前窗口,否则新建窗口
    • h = figure/figure(n) 返回窗口句柄
  • 间接创建

    • title('name')
    • subplot(m,n,k) 窗口划分:

      subplot(2,2,1)
      subplot(2,2,3)
      subplot(2,2,[2 4])

2.二维曲线

2.1 绘图函数

  • plot(y)
  • plot(x,y)
  • plot(x,y,s) 字符串s指定曲线的颜色线形点形
  • plot(x1,y1,x2,y2,...) 多条曲线
  • plot(x1,y2,s,x2,y2,s,...)
  • plot(handle,...) 在指定窗口中绘制
  • h = plot(...) 返回各曲线的句柄

    颜色: b - 蓝色 , c -青色 , g - 绿色 , k - 黑色 , m - 洋红 , r - 红色 , w - 白色 , y - 黄色
    线形: - 实线 , : 点线 , -. 点划线 , - 虚线
    点形: . 点 , o 圆 , x 叉号 , + 十字号 , * 星号 , s 方块 , d 菱形 , v 下三角 , ^ 上三角 , < 左三角 , > 右三角 , p 五角星 , h 六角星

2.2 图像修饰

  • LineWidth 线形宽度
  • MarkerEdgeColor 点形的边界颜色
  • MarkerFaceColor 点形的填充颜色
  • MarkerSize 点形大小

例:

x = -pi:pi/20:pi;  y = sin(x);  plot(x,y,'--rh','LineWidth',2, ...  'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)

2.3 坐标轴设置

  • 坐标轴范围: 默认情况下,系统会根据需要自动选择合适的坐标范围,不需要设置绘图坐标。

    • axis([xmin xmax ymin ymax]) 设置范围
    • v = axis
    • axis auto 默认状态
    • axis manual 固定刻度(配合hold on使用)
    • axis tight 只绘制包含数据部分的图像
    • axis ij 原点在左上角,纵坐标朝下
    • axis xy 恢复iij坐标状态
    • axis equal 横纵坐标等刻度
    • axis image 与equal相同,同时还有tight的功能
    • axis square 窗口设为方形
    • axis normal 重置坐标轴,撤销对坐标的限制
    • axis off 取消坐标轴的设置和背景
    • axis on 显示坐标轴设置和背景
    • 注意多个选项可组合使用,如axis tight equal
  • 绘制网格

    grid on 显示
    grid off 不显示
    grid 在on与off之间切换
    grid minor 最小网格

  • 图形保持

    hold on 窗口之前的内容不会被清除
    hold off
    hold 在on与off之间切换

2.4 图像标注

  • 为坐标轴加标注

    • xlabel('string'),ylabel('string')
    • xlabel('string','Property1',val1,'Property2',val2,...) 属性如fontsizefontweight
    • xlabel(handle,...)
  • 添加标题

    title('string')
    title('string','Property1',val1,'Property2',val2,...)
    title(handle,...) 在指定的图形窗口中添加标题

  • 添加文本标注

    text(x,y,'string') 在指定位置添加注释
    text(x,y,'string','Property1',val1,'Property2',val2,...)

  • 添加图例

    • legend(‘string1’,’string2’,…)
    • legend(h,’string1’,’string2’,…)
    • legend(…,’Location’,loc)
    • 注意:使用set函数可以对图例设置一些属性,如Location、Orientation、EdgeColor、TextColor、String等。

例:

x = -pi:pi/20:pi;plot(x,cos(x),'-ro',x,sin(x),'-.b')h = legend('余弦函数','正弦函数','Location','NorthWest');set(h,'edgecolor','r')
  • MATLAB图像特殊字符

    \alpha - α
    \beta - β
    \gamma - γ
    \zeta - ζ
    \epsilon - ε
    \theta - θ
    \lambda - λ
    \mu - μ
    \phi - ψ

3.三维曲线

3.1 三维曲线绘图函数

  • plot3(x,y,z)
  • plot3(x,y,z,s)
  • plot3(...,'Property1',val1,...)
  • h = plot3(...)

例:

螺旋线:t = 0:pi/50:10*pi;plot3(sin(t),cos(t),t)

2.图像标注
类似于二维图形:

  • zlabel z坐标
  • title 标题
  • text 添加文本
  • legend 图例
  • axis 坐标
  • grid 网格
  • hold 图形保持

例:

t = 0:pi/50:10*pi;plot3(sin(t),cos(t),t)zlabel('z轴','fontsize',15,'fontweight','bold','fontangle','italic')title('三维螺旋线')text(0,1,0,'\leftarrow 起点')legend('螺旋线')grid onaxis square

4.三维曲面

曲面绘制过程:首先需要把曲面所在区域网格化,再求出函数在这些网格点上的值,最后通过一定方式连接起来绘制曲面。

  • 网格化函数:meshgrid

    • [X,Y] = meshgrid(x,y) 把向量x,y圈定的区域,转换成矩阵X,Y,其中X的行由x复制而成,Y的列由y复制而成。
    • [X,Y] = meshgrid(x) 等同于meshgrid(x,x)
    • [X,Y,Z] = meshgrid(x,y,z) 生成三维数组
  • 曲面绘制函数meshsurf

4.1 三维网格图
函数:mesh、meshc、meshz

mesh:

  • mesh(X,Y,Z)
  • mesh(Z)
  • mesh(...,C)
  • mesh(...,'Property1',val1,...)
  • mesh(handle,...)
  • h = mesh(...)

例:

[X,Y] = meshgrid(-3:0.125:3);Z = peaks(X,Y);mesh(X,Y,Z);axis([-3 3 -3 3 -10 10]);

4.2 三维表面图

函数:surfsurfc(同时在下面绘制等高线)、surfl(有光照效果)

surf:

  • surf(X,Y,Z)
  • surf(Z)
  • surf(...,C)
  • surf(...,'Property1',val1,...)
  • surf(handle,...)
  • h = surf(...)

色彩的平滑:

  • shading flat 去掉块之间的格线,平滑表面图
  • shading inerp 去掉格线,平滑表面颜色
  • shading faceted 默认,加格线

例:

[X,Y] = meshgrid(-3:0.125:3);Z = peaks(X,Y);mesh(X,Y,Z);  %图形效果均由此函数呈现axis([-3 3 -3 3 -10 10]);shading interp

4.3 其他

  • colormap 色彩
  • view 视角
  • light 光源

5.其它图形

  • bar 条形图
  • stem 杆形图
  • stairs 阶梯图
  • pie 扇形图
  • contour 等高线
  • fill 填充图
  • cylinder 柱形图
  • sphere 球面图
  • ellipsoid 椭球面图
  • 其它
0 0
原创粉丝点击