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

0 Kommentare
Akzeptierte Antwort
teuysjjyq
am 25 Mai 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
0 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!