脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - matlab xlabel位置的设置方式

matlab xlabel位置的设置方式

2021-11-09 10:27菜鸟小胡 Python

这篇文章主要介绍了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位置的设置方式

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

原文链接:https://blog.csdn.net/weixin_45492560/article/details/104995214

延伸 · 阅读

精彩推荐