matlab xlabel位置的设置方式

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位置的设置方式

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

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

所用数据如下:

matlab xlabel位置的设置方式

代码如下:

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)

做出的图如下:

matlab xlabel位置的设置方式

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

相应代码为:

%填充并画网格
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\')

做出的图如下

matlab xlabel位置的设置方式

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容