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,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')
做出的图如下
以上为个人经验,希望能给大家一个参考,也希望大家多多支持hwidc。