画图时,将x轴设置在​原点位置后,数字却在​x轴上方,请问怎么解​决?。

30 visualizzazioni (ultimi 30 giorni)
sakjaket
sakjaket il 25 Mag 2023
Risposto: teuysjjyq il 25 Mag 2023
各位大佬,我想要请教一个问题。如下图所示,我在画图的时候,想要将x坐标设置在原点位置,于是用了set(gca,'XAxisLocation','origin')这个命令,出来之后x轴确实在原点位置,但是应该在x轴下方数字却跑到上方去了,请问怎么让数字设置在x轴下方呢?

Risposta accettata

teuysjjyq
teuysjjyq il 25 Mag 2023
matlab好像不支持修改,你要不将y轴的坐标值设置成一样大,或者就是手动的调整
方法一:
subplot(1,2,1)
plot(-10:5,-10:5);
set(gca,'XAxisLocation','origin')
subplot(1,2,2)
plot(-10:5,-10:5);
ylim([-10 10])
set(gca,'XAxisLocation','origin')
方法二:
%%
x=-10:0.1:10;
y=sin(x);
plot(x,y)
%%
xtick=get(gca,'xtick');
xticklabel=get(gca,'xticklabel');
xlim=get(gca,'xlim');
ytick=get(gca,'ytick');
yticklabel=get(gca,'yticklabel');
ylim=get(gca,'ylim');
set(gca,'xtick',[],'ytick',[],'xcolor','w','ycolor','w','nextplot','add');
% x轴
plot(xlim,[0 0],'k')
% y坐标
plot([0 0],ylim,'k')
% x坐标标签
ylen=(ylim(2)-ylim(1))*0.02;
for i=1:length(xtick)
plot([xtick(i),xtick(i)],[0 ylen])
text(xtick(i)-ylen,-ylen*1.5,xticklabel(i,:))
end
% y坐标标签
xlen=(xlim(2)-xlim(1))*0.02;
for i=1:length(ytick)
plot([0 xlen],[ytick(i),ytick(i)])
text(-xlen*3,ytick(i),yticklabel(i,:))
end

Più risposte (0)

Categorie

Scopri di più su 二维图和三维图 in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!