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

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

채택된 답변

teuysjjyq
teuysjjyq 2023년 5월 25일
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개)

카테고리

Help CenterFile Exchange에서 二维图和三维图에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!