MATLAB中如何设定坐标范围

就是我想把图形现实的坐标范围控制在1到120000之间,我现在做出来的图像坐标是在-20000到300000之间的,有很大一块空白,如何解决,谢谢

方法/步骤如下:

5/5分步阅读

如图所示是这个程序绘图的结果,显然y轴坐标范围不好,超出坐标的图的一部分没有反映出来

2/5

% 二维

axis([xmin xmax ymin ymax]) %xmin是x最小,xmax是x最大,ymin,ymax类似

% 三维

axis([xmin xmax ymin ymax zmin zmax])

这是我们要用到的matlab语句

3/5

我将这个语句添加到plot作图语句后面,如图所示

4/5

作图出来的结果就比较符合要求了,图形全部在坐标轴范围内

5/5

假如有更好地方法或者本经验有不足的地方望指教,共同学习共同进步!

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-04-05
在Matlab画图的时候,系统默认的坐标轴范围以及间隔有时候并不是很合适,如何根据自己的要求来显示呢,Set语句就可以帮忙咯!!

1. set(gca,'xtick',0:100:2500)

功能: 设置X轴坐标范围0到2500,显示间隔是100;

2.set(gca,'ytick',0:100:2500)

功能: 设置X轴坐标范围0到2500,显示间隔是100;

注意set语句要放在绘图语句后面才起作用!

如下面这个才起作用

plot(x,y)

set(gca,’ytick’,0:100:2500);

而下面这个就不会起作用的

set(gca,’ytick’,0:100:2500);

plot(x,y);

所以要注意顺序!

一、功能
设置坐标轴范围和纵横比

二、语法
1.axis(limits)
指定当前坐标区的范围。以包含 4 个、6 个或 8 个元素的向量形式指定范围。

2.axis style
使用预定义样式设置轴范围和尺度。

例如,将样式指定为 equal 以便沿着每个坐标轴使用相等的数据单位长度。

3.axis mode
设置 MATLAB® 是否自动选择范围。将模式指定为 manual、auto 或半自动选项之一,例如 'auto x'。

4.axis ydirection
其中 ydirection 为 ij,即将原点放在坐标区的左上角。y 值按从上到下的顺序逐渐增加。

ydirection 的默认值为 xy,即将原点放在左下角。y 值按从下到上的顺序逐渐增加。

5.axis visibility
其中 visibility 为 off,即关闭坐标区背景的显示。而坐标区中的绘图仍会显示。visibility 的默认值为 on,即显示坐标区背景。

6.lim = axis
返回当前坐标区的 x 轴和 y 坐标轴范围。对于三维坐标区,还会返回 z 坐标轴范围。对于极坐标区,它返回 theta 轴和 r 坐标轴范围。

7.[m,v,d] = axis('state')
返回坐标轴范围选择、坐标区可见性和 y 轴方向的当前设置。在以后的版本中将会删除该语法。请改用坐标区的 XLimMode、YLimMode、ZLimMode、Visible 和 YDir 属性来获取这些值。

8.___ = axis(ax,___)
使用 ax 指定的坐标区或极坐标区,而不是使用当前坐标区。指定 ax 作为上述任何语法的第一个输入参数。将字符向量类型的输入参数用单引号引起来,例如 axis(ax,'equal')。

三、示例
1.绘制正弦函数,设置坐标轴范围
x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')
axis([0 2*pi -1.5 1.5])

2.在阶梯图周围添加填充
创建一个阶梯图,并使用 axis padded 命令在图和图框之间添加填充边距

x = 0:12;
y = sin(x);
stairs(x,y)
axis padded

3.使用半自动坐标轴范围
创建一个绘图。设置 x 轴的范围和 y 轴的最小范围。使用自动计算的值作为 y 轴的最大范围
第2个回答  2015-09-18

matlab提供了设置坐标范围的函数axis(),常用格式如下:

axis([XMIN XMAX YMIN YMAX]) 设置二维图的x-y坐标范围
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX])  设置三维图的x-y-z坐标范围

示例如下:

>> x = 1:10;
>> subplot(2,1,1) % 默认范围
>> plot(x,x.^2)
>> subplot(2,1,2) % 设置x范围[0,12],y任意
>> plot(x,x.^2,'r')
>> axis([0 12,-inf,inf])

做图效果:

第3个回答  2018-05-26
例如设定X的坐标范围和间隔,
用X=-10:2:10;意思就是X坐标的范围为从-10到10 ,间隔为2。也可以用X=-10::10;中间的间隔空着,这样matlab就会根据函数自动选择最佳间隔。希望对你有帮助。
第4个回答  2010-04-19
你好,看你的是多大维数的图形
如果是二维
axis([xmin xmax ymin ymax])
xmin是x最小xmax是x最大,ymin,ymax分别是y最小,y最大

你的情况比如说你要改编x坐标

axis([1 120000 -inf inf])

如果改y坐标

axis([ -inf inf 1 120000])

当然,可以两个都改 -inf inf是正负无穷大

如果是三维
axis([xmin xmax ymin ymax zmin zmax])
还要考虑到z坐标。本回答被提问者采纳
相似回答