matlab中x坐标值一般显示在x轴下方,如何将x坐标值显示在x轴上方一点点(在图形内部),不是显示到图像顶
发布网友
发布时间:2022-05-15 23:43
我来回答
共1个回答
热心网友
时间:2024-02-29 06:00
MATLAB中是不可以的,默认就是在左下角,当然可以调整到其他角落,就是不支持调整到图像内部。
如果的确需要,那只能使用手动了,有些麻烦,方法如下。本质上就是又画了一条水平线来做x轴。
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
参考资料:http://www.matlabsky.com/forum.php?mod=viewthread&tid=10897&archiver=1