暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Matlab-图片美化基础

Matlab随笔 2021-08-25
794

一言以蔽之,美化图片,只需要学习一条命令,如下:

    set(句柄值,属性名,属性值);

    句柄值,简单!如下:

      fig=figure(1);                               % 窗口的句柄
      ax=findobj(fig.Children,'Type','Axes'); % 坐标轴的句柄
      leg=findobj(fig.Children,'Type','Legend'); % 图例的句柄
      line=findobj(fig.Children,'Type','Line'); % 线的句柄
      text=findobj(fig.Children,'Type','Text'); % 文本的句柄

      属性名,属性值,简单!如下:

      好了,我已经讲完了,你会美化图片了吗?

      要不,再讲讲常用的属性吧:

      一.字体设置

        % 控制刻度标签、坐标轴标签字体
        set(ax,'FontName','黑体');
        set(ax,'FontSize',18);
        set(ax,'FontWeight','bold');

        二.坐标框设置

          % 控制坐标框、网格线线宽
          set(ax,'LineWidth',2);
          % 控制坐标框线宽
          set(ax.XAxis,'LineWidth',2);
          % 控制坐标框颜色
          set(ax.XAxis,'Color',[.85,0.33,0.10]);
          % 控制坐标框范围
          set(ax.XAxis,'Limits',[1,4]);

          三.刻度及其标签设置



            % 设置大刻度间隔
            set(ax,'XTick',-66:12:66);
            % 开启小刻度
            set(ax.XAxis,'MinorTick','on');
            % 设置小刻度间隔
            set(ax.XAxis,'MinorTickValues',-66:3:66);
            % 控制刻度线长度
            set(ax.XAxis,'TickLength',[0.015 0]);
            % 更改刻度线方向
            set(ax,'TickDir','in'); % in:内侧;out:外侧;both:两侧
            % 指定刻度标签
            set(ax,'xTick',1:2:10);
            set(ax,'xTickLabel',{'一','三','五','七','九'})
            % 旋转刻度标签
            set(ax,'XTickLabelRotation',-30); % 逆时针


            四.网格设置


              set(ax,'XGrid','on');
              set(ax,'GridLineStyle','--');

              五.Line设置(就是自己画的线)

                % 颜色
                set(line,'color',[0.00,0.45,0.74]);
                % 线型
                set(line,'LineStyle','-');
                % 线宽
                set(line,'LineWidth',1.5);
                % 标记
                set(line,'Marker','o');
                % 标记大小
                set(line,'MarkerSize',10);

                备注:我用的Matlab2019,其他版本不知道会不会出错。其实,同一美化效果可能有多种编程方式,我都是用set这种方式,您也可以用Matlab的内置函数。


                练手:

                  % 预定义
                  x=0:pi/100:2*pi;
                  y1=sin(x);
                  y2=cos(x);
                  % 画左图
                  yyaxis left
                  plot(x,y1);
                  xlabel('X轴');
                  ylabel('Y左轴');
                  % 画右图
                  yyaxis right
                  plot(x,y2);
                  ylabel('Y右轴');
                  %
                  legend;


                  %% 以上代码画的图丑爆了,你可以尝试美化一下呀,以下图为标准如何?



                  闲谈:近期做毕业设计,耽误了更新,谢谢小伙伴的关注,我会坚持下去的!我现在在做一个美化图片软件,近期会更新,保证免费、开源!期待您的使用。关于以前的文章,我想做些修改,可能会删了重发,请见谅。


                  点个在看你最好看


                  文章转载自Matlab随笔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论