1.二维图形

    1. x = 0:0.1:2*pi;
    2. y1 = sin(x);
    3. y2 = cos(x);
    4. % 二维曲线绘制
    5. % 基本函数
    6. % plot(y)
    7. % y为向量
    8. plot(y1); % 纵坐标为y的值;横坐标自动为元素序号(角标+1),此处为1~9
    9. % y为矩阵
    10. figure; % 开启新绘图窗口,下一次绘图在新窗口
    11. y = [y1', y2'];
    12. plot(y); % y为矩阵,按每一列画出曲线,颜色自动区分
    13. % plot(x, y)
    14. % xy为向量
    15. plot(x, y1); % 先绘制曲线
    16. % plot(x1, y1, x2, y2...)
    17. plot(x, y1, x, y2); % 在同一个窗口同一坐标轴绘制多条曲线
    18. % 线性图形格式设置
    19. % 线形颜色数据点
    20. plot(x, y1, 'b:o'); % 蓝色 点线 圆圈
    21. % b g绿 r c m y k w
    22. % -实线 :点线 --虚线 -.点画线
    23. % .实点 o圆圈 x +十字 *星号 s方块 d钻石 v下三角 ^上三角 <左三角 >右三角 p五角星 h六角星
    24. % 坐标轴
    25. plot(x, y1);
    26. axis([-1*pi, 3*pi, -1.5, 1.5]); % 规定横纵坐标范围
    27. % 图形修饰
    28. % 标题标签
    29. title('a title'); % 图像标题
    30. xlabel('this is x'); % x轴标记,同理还有ylabelzlabel
    31. %图例设置
    32. legend('hahaha', 'location', 'best'); % str的顺序与绘图顺序一致; 'best'指图例位置最佳化,还有其他位置
    33. %图形保持
    34. plot(x, y1);
    35. hold on; % 在原有窗口y1曲线上增加绘制下一个图形
    36. plot(x, y2); % y2在同一窗口内被绘制
    37. hold off;
    38. %分割绘制
    39. subplot(2, 2, 1); % 分割成2x2区域,在第一块区域绘制下一个图形
    40. plot(x, y1); % y1被绘制在4块区域的第一块
    41. subplot(2, 2, 2); % 分割方法相同,区域改变
    42. plot(x, y2); % y2在第二块区域

    2.二维特殊图形绘制

    
    %柱状图    
        bar(x, y, width, '参数');  
    % x横坐标向量,m个元素; y为向量时,每个x画一竖条共m条,矩阵mxn时,每个x画n条;
    % width宽度默认0.8,超过1各条会重叠;
    % 参数有grouped分组式,stacked堆栈式; 默认grouped
    % bar垂直柱状图,barh水平柱状图,bar3三维柱状图,barh3水平三维柱状图(三维多一个参数detached, 且为默认)
    %饼形图
        pie(x, explode, 'lable');  % x为向量显示每个元素占总和百分比, 为矩阵显示每个元素占所有总和百分比
    % explode向量与x同长度,为1表示该元素被分离突出显示,默认全0不分离
    % pie3绘制三维饼图
    %直方图
        hist(y, n);  % y为向量,把横坐标分为n段绘制
        hist(y, x);  % x为向量,用于指定每段中间值, 若取N = hist(y, x), N为每段元素个数
    %离散数据图
        stairs(x, y, 'b-o');  % 阶梯图,参数同plot
        stem(x, y, 'fill');  % 火柴杆图,参数fill是填充火柴杆,或定义线形
        candle(HI, LO, CL, OP);  % 蜡烛图:HI为最高价格向量,LO为最低价格向量,CL为收盘价格向量,OP为开盘价格向量
    %向量图
        compass(u, v, 'b-o');  % 罗盘图横坐标u纵坐标v
        compass(Z, 'b-o');  % 罗盘图复向量Z
        feather(u, v, 'b-o');  % 羽毛图横坐标u纵坐标v
        feather(Z, 'b-o');  % 羽毛图复向量Z
        quiver(x, y, u, v);  % 以(x, y)为起点(u, v)为终点向量场图
    %极坐标图
    % polar(theta, rho, 'b-o');  % 极角theta, 半径rho
        theta = -pi:0.01:pi;
        rho = sin(theta);
        polar(theta, rho, 'b')
    %对数坐标图
        semilogx(x1, y1, 'b-o');  
    % 把x轴对数刻度表示, semilogy是y轴对数刻度表示,loglog是两个坐标都用对数表示
    %双纵坐标
        plotyy(x1, y1, x2, y2, 'fun1', 'fun2');  
    % fun规定了两条条线的绘制方式,如plot,semilogx,semilogy,loglog,stem等
    %函数绘图
        f = 'sin(2*x)';
        ezplot(f, [0, 2*pi]);  % 绘制f并规定横坐标范围,也有[xmin, xmax, ymin, ymax]
        x = '2*cos(t)';
        y = '4*sin(t)';
        ezplot(x, y); 
    % 绘制x(t),y(t)在[0, 2*pi]图像, 也可以在最后用[tmin, tmax]规定t的范围
    

    3.特殊坐标和图形

    loglog (x,y)%双对数坐标
    semilogy(x,y) % 以 x 轴为对数坐标
    polar(theta,rho) % 极坐标
    stair(x,y) % 阶梯图形
    bar(x,y) % 条形图
    stem( x,y)%火柴杆状图
    pie(x)%绘制饼状图 pie3( x)%绘制三维饼状图
    ribbon(x,y,c)%绘制带状图, c是颜色
    

    4.其他命令

    subplot(a,b,n) % 将绘图区分为 a*b 区,选择其中的 n 区
    hold % 在原来视图中绘图
    plotyy (x1,y1,x2,y2 )%在同一坐标系中左右使用不同的坐标
    

    5.填充命令

    fill(x1,y1,x2,y2,```,c) %用 c 颜色填充由 (x1,y1) 、 (x2,y2) ···确定的多边形
    erea(x,y,’r’) %用 r 色填充由 x, y 函数确定边界的区域
    

    6.三维图形
    1)绘图命令

    plot3(x,y,z) % 最基本的三维图形函数,函数除了增加第三维坐标外,功能和 plot 相同
    mesh(x,y,z) %绘制三维网格图。在不需要特别精细的三维曲面结果时使用。
    surf(x,y,z) % 绘制三维曲面图,各线条之间的补面用颜色填充
    
    
            %三维曲线
    x = 0:0.1:2*pi;
    y = sin(x); z = cos(x);
    plot3(x, y, z, 'b-*');
            %三维曲面
            %三维网格
    x = -5:0.1:5;  % 规定了x轴采样点,也规定了x轴范围
    y = -4:0.1:4;  % 规定了y轴采样点,也规定了y轴范围
    [X, Y] = meshgrid(x, y);  % 得到了xoy面网格点
    Z = X.^2+Y.^2;
    mesh(X, Y, Z)  % XY是meshgrid得到的网格点,Z是网格顶点,c是用色矩阵可省略
            %三维表面图
    x = -5:0.1:5;  
    y = -4:0.1:4;
    [X, Y] = meshgrid(x, y);
    Z = X.^2+Y.^2;  % 以上部分同上
    surf(X, Y, Z)  % 与上一个类似
    

    image.png
    2)视点

    view([x,y,z]) %[x,y,z] 观察点坐标
    

    3)等高线

    contour(x,y,z,n) %以 z 为高程值, x,y 为横纵坐标的平面等值线图, n 缺省值为 10 
    contour3(x,y,z,n) %````` 三维等值线图
    meshc(x,y,z) %绘制带等值线图的网线图