用matlab绘图时,如何只设定一个轴范围?

作者&投稿:冶素 (若有异议请与网页底部的电邮联系)
急急急!!!在matlab中如何“只”设置横坐标范围?~

比如设置横轴范围0~100就是:xlim( [ 0, 100 ] );

有两种方法可以实现:
使用 xlim([XMIN XMAX]) 或 ylim([YMIN YMAX]) 单独设置某个坐标轴的范围
使用 axis([XMIN XMAX YMIN YMAX]) ,对于不需要设置范围的轴,使用参数-inf,inf,即正负无穷之间
示例代码:
>> x = 1:10;>> y = x.^2;>> subplot(3,1,1)>> plot(x,y,'r')>> subplot(3,1,2)>> plot(x,y,'g')>> xlim([0,15])>> subplot(3,1,3)>> plot(x,y,'b')>> axis([-1,12,-inf,inf])绘图结果:

用matlab绘图时,只设定一个轴范围可以通过以下方法来实现:

使用 axis([XMIN XMAX YMIN YMAX]) ,对于不需要设置范围的轴,使用参数-inf,inf,即正负无穷之间

示例代码:

>> x = 1:10;

>> y = x.^2;

>> subplot(3,1,1)

>> plot(x,y,'r')

>> subplot(3,1,2)

>> plot(x,y,'g')

>> xlim([0,15])

>> subplot(3,1,3)

>> plot(x,y,'b')

>> axis([-1,12,-inf,inf])

绘图结果:

例子1:

y=f(x)函数非常复杂,y的范围非常不确定,只期望观察到x在1.7到2.3之间的y值。

xlim([1.7 2.3])

clc;clear

x=0:pi/20:2*pi;

y=sin(x);

plot(x,y)

xlim([ -pi 2*pi])

例子2:

有一个1*10000的矩阵X,需要把它画出来。要求是每一百点给出一个坐标刻度,刻度为y1,y2,y3,.....,y100

也就是:X(1)到X(100)画出在坐标轴的X(1)位置标出y1

X(101)到X(200)画出在坐标轴的X(101)位置标出y2

X(201)到X(300)画出在坐标轴的X(201)位置标出y3

......

X(9901)到X(10000)画出在坐标轴的X(9901)位置标出y100

clear,clc

t = 1:1:100;

y = sin(0.1*t);

plot(t,y)

set(gca,'XTick',1:20:100,'XTickLabel',1:20:100)

扩展资料:

MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。

开发环境

MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。

数学函数

MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。

语言

MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。

图形处理

图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。

程序接口

MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。



1、首先打开matlab绘图,这个程序绘图的结果y轴坐标范围不好,需要设定一个轴的范围。

2、用二维的话,则输入命令【axis([xmin xmax ymin ymax])】。

3、用三维的话,则输入命令【axis([xmin xmax ymin ymax zmin zmax])】。

4、将这个语句添加到plot作图语句后面来设置,如图所示。

5、这样,就设定一个轴范围了,图形全部在坐标轴范围内,是x最小,xmax是x最大。



用matlab绘图时,只设定一个轴范围可以通过以下方法来实现:

使用 axis([XMIN XMAX YMIN YMAX]) ,对于不需要设置范围的轴,使用参数-inf,inf,即正负无穷之间

示例代码:

>> x = 1:10;

>> y = x.^2;

>> subplot(3,1,1)

>> plot(x,y,'r')

>> subplot(3,1,2)

>> plot(x,y,'g')

>> xlim([0,15])

>> subplot(3,1,3)

>> plot(x,y,'b')

>> axis([-1,12,-inf,inf])

绘图结果:

扩展资料

在MATLAB中显示图像(影像)的直方图时,横轴范围往往是[0,255]。在显示的时候,默认显示的范围往往大于这个范围,大出的的范围没有实际意义。

如果使用: axis([XMIN XMAX YMIN YMAX]) 就必须要知道YMIN和YMAX,因为axis对其参数的维数的要求是4、6或8;但对于图像的直方图,其纵轴范围往往不确定,所以横轴范围应该单独设定: xlim([XMIN XMAX]) 同理,在其他情况下,可以使用ylim、zlim.

一般会用axis([XMIN,XMAX,YMIN,YMAX]),但是假如只想对一个坐标轴如X轴或Y轴或Z轴设定范围, 可以使用一下数据:

xlim([XMIN,XMAX]);%对X轴设定显示范围 

ylim([YMIN,YMAX]);%对Y轴设定显示范围 

zlim([ZMIN,ZMAX]);%对Z轴设定显示范围 

例如:数字图像灰度统计图

% 数据生成及展示(真实情况可以用数字图像代替)

set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove');

%每次使用记得清除上次设置的参数,否则设置的参数会被保留下来

x=1:255;y=rand(1,255);y=y';%y是行向量还是列向量都可以

n=length(x);

stem(x,y, 'Marker', 'none');

title('未设置坐标轴的区间','fontsize',14);

参考资料来源:百度百科 - MATLAB



1.同时设置subplot的多幅图像的axis

peaks;

axis tight %Set the axis limits to equal the range of the data

axis square

axis 'auto x' //x轴坐标上下限自动调整

axis off %Plot a surface without displaying the axes lines and background.

set(gca,'Visible','off'); //消除坐标轴,显示范围的大小没有改变,同上句

tmp = gca;

tmp.XAxis.Visible = 'off'; //隐藏X轴的

//上面一句也可以隐藏Ticks,同时Box的上端也隐藏了,这就使得图像看上去不太好看

tmp.XTick= []; //这一句可以只隐藏Ticks

//更多特性可参考Matlab帮助文档,查找"Axes Properties"

//Create a figure with two subplots.set the axis limits for the subplots to the same values.

x1 = linspace(0,10,100);y1 = sin(x1);

ax1 = subplot(2,1,1);plot(ax1,x1,y1)

x2 = linspace(0,5,100);y2 = sin(x2);

ax2 = subplot(2,1,2);plot(ax2,x2,y2);

axis([ax1 ax2],[0 10 -1 1])

2.在原图上继续作图,而不改变原坐标系的区间

x = linspace(0,10);y = sin(x);plot(x,y)

y2 = 2*sin(x);hold on

axis manual %关键步骤,冻结axis 可以对比不加该语句的结果

plot(x,y2);hold off

3.改变坐标系的方向(指向)

C = eye(10); pcolor(C);

colormap summer

//Reverse the coordinate system so that the y values increase from top to bottom.

axis ij; //第i行,第j列

//上下两条语句等价

set(gca,'Ydir','reverse');

//y轴默认是指向上的

实际应用:结合axis,axes,colorbar等工具,制作一个数字图像灰度统计图。

//数据生成及展示(真实情况可以用数字图像代替)

set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove');

//每次使用记得清除上次设置的参数,否则设置的参数会被保留下来

x=1:255;y=rand(1,255);y=y';//y是行向量还是列向量都无所谓

n=length(x);

stem(x,y, 'Marker', 'none');

title('未设置坐标轴的区间','fontsize',14);

4.坐标轴区间的自动设置(适用于直方图的显示)

//Get x/y limits of axes using axis

hist_axes = gca;

limits = axis(hist_axes);

if n ~= 1 //当只有一个值时设置x坐标轴

limits(1) = min(x);

else

limits(1) = 0;

end

limits(2) = max(x);

var = sqrt(y'*y/length(y));

limits(4) = 2*var; //只改变了y轴显示的高度

axis(hist_axes,limits);

title('设置了的坐标轴区间','fontsize',14);

5.改变图像的位置,宽和高,隐藏X轴的标注

// In GUIDE, default axes units are characters. In order for axes repositiong

// to behave properly, units need to be normalized.

hist_axes_units_old = get(hist_axes,'units');

set(hist_axes,'Units','Normalized');

//隐藏X轴的标注

//hist_axes.XAxis.Visible = 'off';

//上面一句也可以隐藏Ticks,同时Box的上端也隐藏了,这就使得图像看上去不太好看

//下面这一句可以只隐藏Ticks;

hist_axes.XTick= [];

//Get axis position and make room for others.

pos = get(hist_axes,'pos');

set(hist_axes,'pos',[pos(1) 0.15 pos(3) 0.75])

set(hist_axes,'Units',hist_axes_units_old); //坐标向上移动了,相应也调整了整个图众向比例

title('移动了的坐标原点','fontsize',14);

//设置ColorBar

c = colorbar('position',[pos(1) 0.1 pos(3) 0.05], 'location','southoutside');

c.Ticks= 0:0.125:1;

c.TickLabels = ceil((0:0.125:1)*255); //使用floor函数,Ticks与真实值似乎有偏差

c.Box = 'off'; //取消显示ColorBar的框框,这样使ColorBar的上框线看起来不粗

c.TickDirection = 'both';

colormap gray;

//colorbar最左下角点的横坐标、纵坐标、宽度、高度

title('一个灰度统计图的绘制就完成了','fontsize',14);



1、首先打开matlab绘图,这个程序绘图的结果y轴坐标范围不好,需要设定一个轴的范围。

2、用二维的话,则输入命令【axis([xmin xmax ymin ymax])】。

3、用三维的话,则输入命令【axis([xmin xmax ymin ymax zmin zmax])】。

4、将这个语句添加到plot作图语句后面来设置,如图所示。

5、这样,就设定一个轴范围了,图形全部在坐标轴范围内,是x最小,xmax是x最大。

扩展资料

强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本参数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,能够通过句柄对该图形元素进行操作,而不影响其它部分。

在绘制图形时,Matlab能够自己主动依据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清楚的显示出来。所以,普通情况下用户不必选择坐标轴的刻度范围。可是,假设用户对坐标不惬意,能够利用axis函数对其又一次设定。

其调用格式为:

axis([xmin xmax ymin ymax zmin zmax])

假设仅仅给出前四个参数,则依照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。假设给出了所有参数,则绘制出三维图形。

axis函数的功能丰富,其常常使用的使用方法有:

axis equal :纵横坐标轴采用等长刻度

axis square:产生正方形坐标系(默觉得矩形)

axis auto:使用默认设置

axis off:取消坐标轴

axis on :显示坐标轴

还有:给坐标加网格线能够用grid命令来控制,grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。

给坐标加边框用box命令控制。和grid一样使用方法




matlab怎么绘图?
1.我们需要对matlab有一个初步的了解后,才可能完成后续的步骤,例子如下:2.现在我们需要把图形隐藏起来,也就是不主动弹出图形窗口,这一步需要我们了解相关的函数句柄的知识,具体看图:3.在上一步中,函数图形的可见性(visible)已经关闭(off),也就是被隐藏起来了,接着我们得把plot函数做出的图...

如何在MatLab里绘图?
5、如果希望并排显示两幅图,则需要使用subplot(m,n,p)命令。其中m,n表示将画板分为m行n列,p表示下一幅图绘制在第p个位置(从左到右,从上到下编号)。例如,将这两幅图按一行两列显示的代码如下。6、这样得到的图像显示如下。工具\/材料 MatLab R2016a ...

在MATLAB绘图中,色彩的选择对于数据的可视化效果至关重要。
在MATLAB绘图中,色彩的选择对于数据的可视化效果至关重要。让我们来探索7种常用的、能够提升图表吸引力的配色方案:1. 黑色(-k)开始时,我们常常使用纯黑色('-k')来强调线条的清晰,如这行代码:plot([1 10],[1 1],'-k','linewidth',2); 线宽设置为2,确保信息传递的力度。2. 蓝色('-b...

matlab绘图中怎么改变线条粗细?
修改matlab绘图中线条的粗细的方法如下:1、首先,启动软件,如图运行程序输出两条曲线进行对比,开始时不设置宽度,颜色、线宽等使用默认值,点击运行按钮。\/iknow-pic.cdn.bcebos.com\/34fae6cd7b899e51d64bf2004da7d933c9950dd9"target="_blank"title="点击查看大图"class="ikqb_img_alink">\/iknow...

如何用MATLAB画函数的图像?
第一步,确定自变量x的范围,如 x=linspace(0,10) %生成x等差数列向量组,公差为0.01,100个等分点 第二步,计算与x对应的y值 y=4*x.^4-18*x.^3+28*x.^2-18*x+4 %计算时,需使用点乘计算 第三步,创建一个新的图窗 figure 第四步,使用plot绘图函数,绘制函数图像 plot(x,y,...

matlab中gridon什么意思
2. grid on的功能 网格线在数据可视化中扮演着重要的角色。它们可以帮助我们更清晰地看到数据点的分布,特别是在数据点较为密集的情况下。通过网格线,我们可以更准确地判断数据点的相对位置以及它们如何随变量变化而变化。在MATLAB中绘图时,如果你不确定数据点之间的具体距离或形状,网格线可以作为一个...

MATLAB画图时如何保证文字不变成乱码
首先打开你的MATLAB,输入对应的代码已经绘图命令,Xlabel:代表的是横轴内容,Ylabel,代表的是纵轴内容,title代表的是标题。我们先举个例子,横轴,纵轴,以及标题都是用汉字标注的情况:如果下图:很显然我们用,MATLAB中plot的画图工具,在MATLAB画图界面上是显示的是,汉字很完美,我们点击保存之后,另存...

matlab绘图窗口选中不同曲线怎么办
1. **使用鼠标选中曲线**:在 MATLAB 的绘图窗口中,您可以使用鼠标左键点击并拖动来选中曲线。当您选中曲线时,曲线将被高亮显示。2. **使用键盘选中曲线**:在 MATLAB 的绘图窗口中,您可以使用键盘上的 "Ctrl" 键和 "Shift" 键来选中曲线。例如,按住 "Ctrl" 键并点击曲线,可以选中曲线。

matlabGUI设计中使用plot函数绘图时x轴会出现一条横线是什么情况...
当使用Matlab GUI设计中的plot函数绘图时,如果在x轴的数据中存在重复的值,则会出现一条横线。这是因为plot函数默认会将数据点之间的线条相连,当x轴有重复的值时,这些点会被视为相邻点,因此会有一条横线连接它们。为了避免出现这种情况,可以对x轴的数据进行处理,确保没有重复值出现。

用matlab绘图时,如何只设定一个轴范围?
用matlab绘图时,只设定一个轴范围可以通过以下方法来实现:使用 axis([XMIN XMAX YMIN YMAX]) ,对于不需要设置范围的轴,使用参数-inf,inf,即正负无穷之间 示例代码:>> x = 1:10;>> y = x.^2;>> subplot(3,1,1)>> plot(x,y,'r')>> subplot(3,1,2)>> plot(x,y,'g')>>...

轮台县19217348085: 用matlab绘图时,如何只设定一个轴范围? -
梁贾泰可: xlim([1.7 2.3]) 例如 clc;clear x=0:pi/20:2*pi; y=sin(x); plot(x,y) xlim([ -pi 2*pi])

轮台县19217348085: matlab画图,只想设定y轴最小坐标为0,x轴不设定,怎么设置啊 -
梁贾泰可: 举例说明如下(后两句话完成你需要的功能, 即y轴范围最大值和x轴范围不变, 将y轴最小值设定为0):x=linspace(-2*pi,2*pi,64); y=sin(x)+2; figure, plot(x,y) yl=get(gca,'ylim'); set(gca,'ylim',[0,yl(2)])

轮台县19217348085: matlab作图,只改变其中一个参量,需要改成多个数据,其他不变,观察曲线变化,画在同一图上,怎么画? -
梁贾泰可: 画在同一个图上,使用命令hold on就行

轮台县19217348085: MATLAB/Simulink仿真得出数据后如何只对数据的一部分进行画图 -
梁贾泰可: 这个你得用时间来计算出来,比如你的仿真步长选择的是0.001s,你仿真了1秒后,想观察0.8~0.9s的数据波形,只需要如下变换: t=0.8 : 0.001 : 0.9; y=yout(0.8/0.001:0.9/0.001); plot(t,y)希望对你有帮助

轮台县19217348085: matlab里用subplot怎么只画出一个图???
梁贾泰可: qrid 应为 grid,由于写错了,程序没执行完,所以只出一个图

轮台县19217348085: 进行电力系统Matlab仿真时,怎么设置可以单独输出某一相波形,而不是三相波形,例如下图这样 -
梁贾泰可: 你可以用simulink Library中的Demux 将每一相的波形分离出来

轮台县19217348085: matlab中 explot 画图怎么同时设置线宽和颜色、标记等,每次都是单独设置的 -
梁贾泰可: 怎么不行?放在一起不就好了:clear all;clc; h=ezplot('(24*y+2*x*10)*(x+y)-10*(1+x^2)-0.25*10*(x+y)^2',[-0.2,2]); set(h,'color','r','linewidth',2);

轮台县19217348085: matlab中画图线型怎么设置 -
梁贾泰可: 工具:matlab软件 步骤: 1、打开matlab软件,绘制0到2*pi范围内的正弦余弦函数,默认的图形是实线,颜色第一条是蓝色,第二条红色. 2、在写绘图代码时,设定特定的线型,例如,画虚线:plot(x,y1,'--') 3、画星点线:plot(x,y1,'p') 4、设置线条颜色: plot(x,y1,'r')在第二张图中给出各种颜色和线型的符号. 5、可以在一条命令中同时设置线型和颜色.plot(x,y1,'--*r').

轮台县19217348085: 只有一组数据如何用matlab作图 -
梁贾泰可: x=1:20 plot(x)%x对x做图 plot(-1:0.1:1,x)%x在[-1,1]上做图

轮台县19217348085: matlab画图怎么设置线条类型和颜色 -
梁贾泰可: 工具/原料matlab软件 方法/步骤下面将以一个简单的绘图操作为例. 绘制0到2*pi范围内的正弦余弦函数,默认的图形是实线,颜色第一条是蓝色,第二条红色...设置线型: 可以在写绘图代码时,设定特定的线型,例如,画虚线: plot(x,y1,'--')画星点线:plot(x,y1,'p') 类似地, '*',*号线 '<' ,三角符号线等等设置线条颜色: plot(x,y1,'r') 类似地,在第二张图中给出各种颜色和线型的符号.另外,我们可以在一条命令中同时设置线型和颜色. plot(x,y1,'--*r').

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网