当前位置 博文首页 > matlab xlabel位置的设置方式

    matlab xlabel位置的设置方式

    作者:菜鸟小胡 时间:2021-05-25 17:53

    xlabel(‘time',‘FontSize',12);

    如果没有设置位置,默认是在中间

    在xlabel中也有position用法

    xlabel(‘time',‘position',[900,1870],‘FontSize',12);

    此时‘time'在你设置的位置

    还有一种用法是类似图像的用法

    pos=axis;%取得当前坐标轴的范围,即[xmin xmax ymin ymax]
    xlabel(‘time',‘FontSize',12, ‘Position',[pos(2) pos(3)])
    
    x=0:pi/50:2*pi;
    y=sin(x);
    plot(x,y);
    pos=axis;%取得当前坐标轴的范围,即[xmin xmax ymin ymax]
    xlabel('x轴','position',[pos(2) 1.15*pos(3)]);%设置x轴标签的文本在图的右下方,1.15这个值根据自己的需要可以调整
    形成的图
    

    补充:Matlab作图实例——xlabel,ylabel,title,text,plot,patch,datetime等的应用

    做线性图,并用变量标记每个点

    所用数据如下:

    代码如下:

    clear
    clc
    format compact
    format shortG 
    T = readtable('repayment_schedule.xlsx','ReadVariableNames',true)
    T.time=datetime(datestr(T.time,'yyyy.mm.dd'),'InputFormat','yyyy.MM.dd',...
        'format','yyyy.MM.dd')
    p=plot(T.time,T.m_per_month,T.time,T.m_residue)
    p(1).Marker='o'
    p(2).Marker='*'
    box off
    %让y轴不用科学计数法显示
    h=gca
    y_val=h.YTick
    y_str=string(y_val) %等价于y_str=num2str(y_val')
    h.YTickLabel=y_str
    %横轴日期显示设置
    h.XTick=T.time
    xtickangle(45) %让x轴的标签逆时针旋转45度
    %画垂直虚线
    hold on
    p1=plot([datetime(2018,11,20) datetime(2018,11,20)],...
        [0 30830],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p2=plot([datetime(2018,12,20) datetime(2018,12,20)],...
        [0 26434],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p3=plot([datetime(2019,01,20) datetime(2019,01,20)],...
        [0 22038],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p4=plot([datetime(2019,02,20) datetime(2019,02,20)],...
        [0 17641],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p5=plot([datetime(2019,03,20) datetime(2019,03,20)],...
        [0 13245],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p6=plot([datetime(2019,04,20) datetime(2019,04,20)],...
        [0 8849],'Color',[0.6 0.6 0.6],'LineStyle','--')
    p7=plot([datetime(2019,05,20) datetime(2019,05,20)],...
        [0 4452.8],'Color',[0.6 0.6 0.6],'LineStyle','--')
    hold off
    %标注每个点
    str1=string(T.m_per_month)
    str2=string(T.m_residue)
    text(T.time,T.m_per_month-1200,str1,'Color',[0 0.447 0.741],...
        'HorizontalAlignment','center')
    text(datetime(datenum(T.time)+2,'ConvertFrom','datenum'),...
        T.m_residue+1100,str2,...
        'Color',[0.85 0.325 0.098],...
        'HorizontalAlignment','left')
    %图例
    legend([p(1) p(2)],{'每月还款金额','每月还款后剩余总本息'},...
        'Location','northeast','NumColumns',1)
    %各个标题
    xlabel('还款时间')
    ylabel('还款金额')
    title({'GGG还款计划';'2018.12.20-2019.06.20'})
    print('GGG还款计划','-dpdf')
    %将数据再写入excel
    % writetable(T,'test.xlsx','WriteVariableNames',true)
    

    做出的图如下:

    画线形函数图,填充一部分并画网格

    相应代码为:

    %填充并画网格
    clear
    clc
    v1 = [0 0; 4 0; 4 4;0 4];
    f1 = [1 2 3 4];
    figure
    patch('Faces',f1,'Vertices',v1,...
        'EdgeColor',[0.75 0.75 0.75],'FaceColor',[0.75 0.75 0.75]);
    g=gca
    g.XTick=[0:4]
    g.YTick=[0:4]
    g.XLim=[0 4.5]
    g.YLim=[0 4.5]
    grid on
    g.Layer = 'top';
    g.GridColor=[1 1 1]
    g.GridLineStyle='--'
    g.GridAlpha = 1
    axis square
    %挖洞
    v2 = [1 1;2 1;2 2;1 2];
    f2 = [1 2 3 4];
    patch('Faces',f2,'Vertices',v2,...
        'EdgeColor',[0.75 0.75 0.75],'FaceColor',[1 1 1]);
    %画函数图
    hold on
    f1=@(t) 4*t-4
    f2=@(t) 0.25*t+1
    f1p=fplot(f1,[1 2],'k','LineWidth',1,'DisplayName','X的策略')
    f2p=fplot(f2,[0 4],'--k','LineWidth',1,'DisplayName','Y的策略')
    xlabel('X的策略')
    ylabel('Y的策略')
    legend([f1p f2p],{},'NumColumns',2,'FontSize',10)
    %导出为PDF
    % saveas(gcf,'qiyan.pdf')
    print('qiyan','-dpdf')
    

    做出的图如下

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。

    js
    下一篇:没有了