zoukankan      html  css  js  c++  java
  • Matlab绘图(二)低频率命令总结

    Matlab绘图(二)低频率命令总结

    Matlab的绘图有些操作用的频率很少,所以每次用每次忘,而且这些指令根本没有记忆的必要性,除了基础的画图操作外,有大部分的命令明显可通过matlab图像编辑窗进行快速操控(如添加colorbar,添加annotation等,如截图保存图片等)。

    但是这些操作遇到批量处理(如批量存储图片),或者GUI设计这些操作又不得不去使用。

    1. plot额外属性设置

    2. legend 设置

    详细介绍的博客:https://www.cnblogs.com/lihuidashen/p/3443526.html

    基本用法:legend(string1,string2,string3, ...)

    设置legend的位置: legend(...,'location',Loc)

    Loc的值可以为:
    'north' 'south' east'
    'west' 'northeast' 'northwest'
    'southeast' 'southwest' 'northoutside'
    'southoutside' 'eastoutside' 'westoutside'
    northeastoutside' northwestoutside' southeastoutside'
    southwestoutside' 'best' 'bestoutside'

    3. 坐标轴的刻度设置和标签设置

    set(gca,'xtick',1:1:9,'xticklabel',1:1:9);    %xtick就是要在哪些地方显示刻度,xticklabel就是显示什么
    set(gca,'ytick',1:1:9,'yticklabel',1:1:9);
    set(gca,'ytick',1:1:9,'yticklabel',{1,2,3,4,5,6,7,8,9});    %离散数字
    set(gca,'ytick',1:1:9,'yticklabel',{'1','2','3','4','5','6','7','8','9'});    %字符串
    set(gca,'ytick',1:1:9,'yticklabel',{});    %只显示刻度,不显示内容
    

    4. figure 大小设置

    设置position 的四个参数,默认单位是像素pixel,也可以按照电脑屏幕的大小设置归一化大小。

      set(gcf,'position',[0.05,0.1,0.85,0.75],'Units','Normalized')
    

    5. 其余常用命令

    • 栅格:grid on /off
    • x坐标和y坐标说明: xlabel()ylabel()

    绘制问题解决方案

    1. box on 坐标轴的右上边仍有刻度的问题

    当时搜这个问题的解决方案画了很多时间,其实根本不需要去搜相关的命令,直接用line([x1,x2],[y1,y2])来补全就好了,也花不了多少时间

    思考可不可以用命令来获取x,y坐标轴的取值范围?python可以Matlab不知道行不行

    2. 设置 latex 语法以及字体

    • title 、xlabel、ylabel 、zlabel、textbox 和legend 等的Interpreter 属性有三个属性: latex 、tex、none。默认为tex 。
    xlabel('$delta_w/p_w$','interpreter','latex');
    legend({string1,string2,...}, 'interpreter','latex')
    
    • 获取句柄后设置
    set(gca,'TickLabelInterpreter','latex');  % Ticklabel用的解释器好像不一样
    
    % ------------
    handle=legend('$y=x^2$','$y=x^3$');    %输入“latex代码格式”的图例字符串,并获取该图例的句柄
    set(handle, 'interpreter','latex');    %把图例中字符串的解析器设置为“latex”解析器,默认是“tex”解析器
    
    • 字体属性设置
    set(gca,'Fontname','latex')
    set(gca,'Fontsize',25)
    

    3. 批量字符处理,不要用方括号[ ] ,用元组{}存取

    因为当[ ‘string1’,‘string2’] 存取字符时,实际上存的内容为:string1string2,索引的第一元素为s,元组索引就是第一个单引号包含的内容

    注:在Matlab中输入单引号会被认为类似于char()转换字符的操作,若要输出,两个单引号等于一个单引号(功能类似于转义符)

    4. 指定曲线,legend输出

    • 写法一:如果不指定绘制曲线句柄,legend后面可以直接跟字符串,则默认字符和曲线顺序一一对应。

    • 写法二:给每个需要的曲线返回句柄,并单独对这些线进行设置

    • 写法三:指定曲线不显示

      h1=plot(x,y);
      set(get(get(h1,'Annotation'),'LegendInformation'),'IconDisplayStyle','off');
      
    • 不显示legend的方框

      hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
      set(hl,'Box','off');
      
  • 相关阅读:
    Nginx调试入门
    Nginx自动安装脚本
    Centos7.3自动化脚本安装MySQL5.7
    复制多行内容到文本
    Windows常用命令
    C++笔试题
    loadrunner和QTP视频教程汇总
    mysql-connector-java-5.1.22下载
    struts学习笔记
    Hibernate原理
  • 原文地址:https://www.cnblogs.com/wangjs-jacky/p/11738752.html
Copyright © 2011-2022 走看看