美文网首页
日常记录4-3

日常记录4-3

作者: 木火_magic | 来源:发表于2022-04-05 22:56 被阅读0次

    一、画图、图像输出figure

    1、plot()函数

    plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

    pie()函数

    pie(x)用于绘制数据 x 的饼图,x 可以是向量或者矩阵,x 中的每一个元素将代表饼图的一个扇区,同时饼图中显示各元素总和的比例


    image.png

    plot3()函数画三维曲线

    plot3()函数画三维曲线,最基本的三维图形函数为plot3,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。


    image.png
    2、grid on 的作用:显示轴网格线

    在matlab命令行中输入,如下图显示是没有网格的,

    x = linspace(0,10);
    y = sin(x);
    plot(x,y);
    
    image.png

    在上述代码后添加grid on后,显示则会有网格

    x = linspace(0,10);
    y = sin(x);
    plot(x,y);
    grid on;
    
    使用grid on;
    3、colormap
    figure; 
    imagesc(img);
    colormap(parula);%指定热图的模式
    
    image.png
    image.png

    原理如下:

    根据图像中各点像素值的不同,显示不同的颜色。显然,必须要 灰度图才行。当然也可以设置不同的热图模式, 各种热图模式可以自己选择,如下图列表所示。其中parula是默认模式,若不指定,则默认此热图模式。

    热图染色对应模式
    现在想自定义属于自己的 colormap,且想保存下来,可以重复使用。
    方法:
    1. edit->Colormap


      image.png

    操作colormap
    值得注意的是,一个figure中有两个colormap。这是自定义colormap中最大的坑
    (1)指定 figure 中的colormap;
    (2)指定figure中的某一axesaxescolormap;

    image.png
    image.png

    而我们需要的是对figure的colormap进行编辑(也可以对指定的axes的colormap进行编辑,可是如何对指定的axes使用特定的colormap还没有进行研究。)

    1. 保存当前的colormap
      假设编辑过后效果如下,接下来就是保存colormap,以便后续使用
    mycolormap = colormap;%把当前的colormap赋给mycolormap
    save mycolormap mycolormap %保存
    

    使用自己的colormap

    load mycolormap;
    figure;
    imagesc(img);
    colormap(mycolormap)
    

    二、Matlab中axis函数用法总结

    axis 主要用来对坐标轴进行一定的缩放操作,其操作命令如下:

    1. axis([xmin xman ymin ymax])设置当前坐标轴x轴和y轴的限制范围
      2.axis([xmin xman ymin ymax zmin zmax cmin cmax])设置x,y,z轴的限制范围和色差范围。
      3.v=axis 返回一个行向量,记录了坐标范围
      4.axis auto 解除限制,恢复到默认状态
      比如下面一个例子
    x=0.2*pi/100:2*pi;
    y=sin(x);
    plot(x,y,'--o')
    
    image.png

    使用axis对坐标轴进行缩放
    axis([2.5,0.5,0,8])

    clear,clc%清理变量和空间 
    [X,Y]=meshgrid(-1:0.1:1);%绘制网格坐标 
    A=X+1i*Y; %得到Z=x+iy逆时针旋转,x+iy,exp(x+iy)的坐标表示 
    Z0=abs(A).*cos(angle(A)+pi/6)+abs(A).*sin(angle(A)+pi/6);%得到Z=x+iy,逆时 针旋转的坐标表示 
    Z=0.5*Y-1.5*X;%得到Z=x+iy的坐标表示 
    Z1=exp(X).*cos(Y)+sin(Y).*exp(X);%得到Z=exp(x+iy)的坐标表示 
    figure 
    mesh(X,Y,Z) %开始绘Z=x+iy的网格图 
    axis([-3,3,-3,3,-3,3])%限定坐标范围 注意此处缺少了对Z轴的显示范围,就变成了二维图像
    grid off 
    
    image.png
    clear,clc%清理变量和空间 
    [X,Y]=meshgrid(-1:0.1:1);%绘制网格坐标 
    A=X+1i*Y; %得到Z=x+iy逆时针旋转,x+iy,exp(x+iy)的坐标表示 
    Z0=abs(A).*cos(angle(A)+pi/6)+abs(A).*sin(angle(A)+pi/6);%得到Z=x+iy,逆时 针旋转的坐标表示 
    Z=0.5*Y-1.5*X;%得到Z=x+iy的坐标表示 
    Z1=exp(X).*cos(Y)+sin(Y).*exp(X);%得到Z=exp(x+iy)的坐标表示 
    figure 
    mesh(X,Y,Z) %开始绘Z=x+iy的网格图 
    axis([-3,3,-3,3])%限定坐标范围 注意此处缺少了对Z轴的显示范围,就变成了二维图像
    grid off
    

    三、关于坐标轴的几个设置

    • Matlab画图坐标轴上的刻度线显示与隐藏,默认button
    • set(gca,'layer','top')或者---查看,属性检查器,搜索layer,输入top
    • 设置刻度线在轴上面或者轴下面, TickDir in/out
    • grid on 画出分格线
    • grid off 不画分格线
    • box on 控制加边框线
    • box off 控制不加边框线

    设置输出图片文件的尺寸大小,厘米、英寸

    文件-->导出设置-->调整大小(8*8)-->设置分辨率

    gca

    gca是目前的坐标系的所有属性

    ax = gca
    

    不画任何图,直接一句ax = gca,gca会自己建立一个笛卡尔坐标系,返还给ax。
    随后,我们绘制一个正弦波,用普通的"plot"函数,输出图像,再用"acg"函数修改输出图像的坐标系的属性,将两者输出的图像进行对比。

    • 使用"plot"
    x = linspace(0,10);
    y = sin(4*x);
    plot(x,y)
    

    输出的Figure如下:


    image.png
    • 添加"acg"
    x = linspace(0,10);
    y = sin(4*x);
    plot(x,y)
    ax = gca; % current axes
    ax.FontSize = 12;  % 调整坐标系的数字标度的字体大小
    ax.TickDir = 'out';  % 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内)
    ax.TickLength = [0.02 0.02];  % 设置刻度线的长度
    ax.YLim = [-2 2];
    
    image.png

    四、subplot

    1、简单的例子

    把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,基本步骤如下:

    subplot(2,2,1); % 2、2、1之间没有空格也可以
    %在第一块绘图
    subplot(2,2,2);
    %在第二块绘图
    subplot(2,2,3);
    %在第三块绘图
    subplot(2,2,4);
    %在第四块绘图
    

    运行结果如下:


    image.png
    2、如下代码:
    subplot(2,2,1);
    subplot(2,2,3);
    subplot(2,2,4);
    
    image.png
    3、在多个窗口绘制一个图形。
    subplot(2,2,[1,3]);
    subplot(2,2,2);
    subplot(2,2,4);
    
    image.png

    五、word字体中几号字与多少磅的对应关系

    • 字号‘八号’对应磅值5
    • 字号‘七号’对应磅值5.5
    • 字号‘小六’对应磅值6.5
    • 字号‘六号’对应磅值7.5
    • 字号‘小五’对应磅值9
    • 字号‘五号’对应磅值10.5
    • 字号‘小四’对应磅值12
    • 字号‘四号’对应磅值14
    • 字号‘小三’对应磅值15
    • 字号‘三号’对应磅值16
    • 字号‘小二’对应磅值18
    • 字号‘二号’对应磅值22
    • 字号‘小一’对应磅值24
    • 字号‘一号’对应磅值26
    • 字号‘小初’对应磅值36
    • 字号‘初号’对应磅值42

    六、matlab绘图中,如何使坐标刻度显示特殊字符

    x=linspace(0,4*pi,100);
    y=sin(x);
    plot(x,y)
    axis tight
    set(gca,'xtick',0:pi/2:4*pi)
    set(gca,'xticklabel',{'0' 'pi/2' 'pi' 'pi*3/2' '2*pi' 'pi*5/2' '3*pi' 'pi*7/2' '4*&'})
    
    image.png

    七、matlab设置字体大小

      1. 设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]);
      1. 设置图片大小:set(gcf,'Position',[x1,y1,dx,dy]);
        x1和y1是图的左下角坐标,
        dx和dy是图沿着x和y方向的大小,
        比如:set(gcf,'Position',[347,162,380,300]);
      1. 图例的相关设置:
        图例中字体及大小:legend('FontName','Times New Roman','FontSize',7,LineWidth',1.5);
        图例中各个量及位置:legend('y','zc','location','SouthEast');
      1. 坐标轴的名称的相关设置:
        x轴的名称及字体和大小:xlabel('x(m)','FontName','Times New Roman','FontSize',7);
        y轴的名称及字体和大小:ylabel('zc(m) and y(m)','FontName','Times New > -Roman','FontSize',7,LineWidth',1.5);
      1. 坐标轴的字体及大小设置
        set(gca,'FontName','Times New Roman','FontSize',7,'LineWidth',1.5);
      1. 图名的字体及大小设置
        title('yslice:600m;zslice:150m','FontName','Times New Roman','FontSize',7);
      1. 坐标轴反向
        set(gca,'zdir','reverse'); %将坐标轴数值反向
    用matlab绘图如何定义坐标轴上的数字字体大小?
    • 一:在画完图的Figure窗口里,通过菜单Edit-Axes Properties....-Font-Font Size即可设置。
    • 二:用plot命令画完图后,用如下命令:set(gca,'FontSize',20);即可完成菜单同样效果。

    相关文章

      网友评论

          本文标题:日常记录4-3

          本文链接:https://www.haomeiwen.com/subject/zyhksrtx.html