Matlab中axis函数使用

Matlab中axis函数使用目录一.语法1.输入参数2.输出参数二.说明三.示例1.设置坐标轴范围2.使用半自动坐标轴范围3.设置多个坐标轴的坐标轴范围4.显示绘图而不显示坐标区背景5.使用紧凑的坐标轴范围并返回值6.更改坐标系的方向7.添加新绘图时保留当前的坐标轴范围axis函数是设置坐标轴范围和纵横比。一.语法axis(limits)axisstyleaxismodeaxisydirectionaxisvisibility

大家好,又见面了,我是你们的朋友全栈君。

目录

语法

二.说明

示例

设置坐标轴范围

使用半自动坐标轴范围

设置多个坐标轴的坐标轴范围

显示绘图而不显示坐标区背景

使用紧凑的坐标轴范围并返回值

更改坐标系的方向

添加新绘图时保留当前的坐标轴范围


        axis函数是设置坐标轴范围和纵横比

语法

axis(limits)

axis style

axis mode

axis ydirection

axis visibility

lim = axis

[m,v,d] = axis('state')

___ = axis(ax,___)

limits – 坐标轴范围

        坐标轴范围,指定为包含 4 个、6 个或 8 个元素的向量。对于笛卡尔坐标区,以下列形式之一指定范围:

  • [xmin xmax ymin ymax] – 将 x 坐标轴范围设置为从 xmin到xmax。将y坐标轴范围设置为从ymin到ymax。

  • [xmin xmax ymin ymax zmin zmax] – 还将 z 坐标轴范围设置为从 zmin 到 zmax。

  • [xmin xmax ymin ymax zmin zmax cmin cmax] – 还设置颜色范围。 cmin 是对应于颜色图中的第一种颜色的数据值。cmax 是对应于颜色图中的最后一种颜色的数据值。

Axes 对象的XLim、YLim、ZLim和RLim 属性存储范围值

        对于极坐标区,以下列形式指定范围:

  • [thetamin thetamax rmin rmax] – 将 theta 坐标轴范围设置为从 thetamin 到 thetamax。将r坐标轴范围设置为从 rmin 到 rmax。

PolarAxes 对象的ThetaLim和RLim属性存储范围值

        如果只想自动确定部分坐标区范围,请对希望坐标区自动选择的范围使用 inf 或 -inf。例如,axis([-inf 10 0 inf]) 将由坐标区选择合适的最小x轴范围和最大y轴范围。它对最大x轴范围和最小y轴范围使用指定值。

注意

        如果x轴、y轴或 z轴显示分类、日期时间或持续时间值,则改用xlim、ylim和zlim函数来设置范围。

mode – 用来确定坐标轴范围的手动、自动或半自动选择

        用来确定坐标轴范围的手动、自动或半自动选择,指定为该表中的以下值之一。

说明 更改的坐标区属性
manual 将所有坐标轴范围冻结在它们的当前值。 将 XLimModeYLimMode 和 ZLimMode 设置为 'manual'。如果使用的是极坐标区,则此选项会将 ThetaLimMode 和 RLimMode 设置为 'manual'
auto 自动选择所有坐标轴范围。 将 XLimModeYLimMode 和 ZLimMode 设置为 'auto'。如果使用的是极坐标区,则此选项会将 ThetaLimMode 和 RLimMode 设置为 'auto'
'auto x' 自动选择 x 坐标轴范围。 将 XLimMode 设置为 'auto'
'auto y' 自动选择 y 坐标轴范围。 将 YLimMode 设置为 'auto'
'auto z' 自动选择 z 坐标轴范围。 将 ZLimMode 设置为 'auto'
'auto xy' 自动选择 x 轴和 y 坐标轴范围。 将 XLimMode 和 YLimMode 设置为 'auto'
'auto xz' 自动选择 x 轴和 z 坐标轴范围。 将 XLimMode 和 ZLimMode 设置为 'auto'
'auto yz' 自动选择 y 轴和 z 坐标轴范围。 将 YLimMode 和 ZLimMode 设置为 'auto'

注意:这些选项不能用于极坐标区。

style – 坐标轴范围和尺度

        坐标轴范围和尺度,指定为以下值之一。

说明 更改的坐标区属性
tight 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据。 XLimModeYLimMode 和 ZLimMode 更改为 'auto'。如果使用的是极坐标区,则 ThetaLimMode 和 RLimMode 将改变。坐标区范围自动更新,以便包含添加到坐标区中的新数据。为了避免在使用 hold on 时范围发生更改,请使用 axis tight manual
equal 沿每个坐标轴使用相同的数据单位长度。 将 DataAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。
image 沿每个坐标区使用相同的数据单位长度,并使坐标区框紧密围绕数据。 将 DataAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。
square 使用相同长度的坐标轴线。相应调整数据单位之间的增量。 将 PlotBoxAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。
fill 启用“伸展填充”行为(默认值)。每个轴线的长度恰好围成由坐标区的Position属性所定义的位置矩形。 将图框纵横比模式和数据纵横比模式的属性设置为自动。
vis3d 冻结纵横比属性。 将图框纵横比模式和数据纵横比模式的属性设置为手动。
normal 还原默认行为。 将图框纵横比模式和数据纵横比模式的属性设置为自动。

        有关图框纵横比和数据纵横比的详细信息,可以参考PlotBoxAspectRatio和DataAspectRatio属性。

注意:这些选项不能用于极坐标区,除非使用 axis tight 和 axis normal 命令。

ydirection – y 轴方向

        y轴方向,指定为下列值之一:

  • xy – 默认方向。对于二维视图中的坐标区,y 轴是垂直的,值从下到上逐渐增加。

  • ij – 反转方向。对于二维视图中的坐标区,y 轴是垂直的,值从上到下逐渐增加。

注意:这些选项不能用于极坐标区。

visibility – 坐标区线条和背景的可见性

        坐标区线条和背景的可见性,指定为onoff。指定可见性可将Axes对象或PolarAxes 对象的Visible属性设置为指定的值。

ax – 目标坐标区

        目标坐标区,指定为一个或多个坐标区。可以指定 Axes 对象或 PolarAxes 对象。如果不指定坐标区,则由axis为当前坐标区 (gca) 设置范围。

        指定坐标区时,需要将字符向量类型的其他输入参数用单引号引起来。

lim – 当前范围值

        当前范围值,以四元素或六元素向量形式返回。

  • 对于二维视图中的笛卡尔坐标区,lim 的格式为 [xmin xmax ymin ymax]。对于三维视图中的坐标区,lim 的格式为 [xmin xmax ymin ymax zmin zmax]。Axes 对象的XLim、YLim和ZLim属性存储范围值。

  • 对于极坐标区,lim 的格式为 [thetamin thetamax rmin rmax]。PolarAxes 对象的ThetaLim和RLim属性存储范围值。

提示

  • 可以将多个输入参数结合使用,例如 axis image ij。选项从左到右进行计算。后面的选项会覆盖前面的选项设置的属性。

  • 如果坐标区不存在,则 axis 函数会创建坐标区。

  • 使用 hold on 避免绘图函数覆盖预设的坐标轴范围。

二.说明

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

axis style使用预定义样式设置轴范围和尺度。例如,将样式指定为 equal 以便沿着每个坐标轴使用相等的数据单位长度。

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

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

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

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

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

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

示例

设置坐标轴范围

        绘制正弦函数。如下所示:

x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')

Matlab中axis函数使用

        更改坐标轴范围,使 x 轴的范围从 0 到 2π,y 轴的范围从 -1.5 到 1.5。

x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')
axis([0 2*pi -1.5 1.5])

Matlab中axis函数使用

使用半自动坐标轴范围

        创建一个绘图。设置 x 轴的范围和 y 轴的最小范围。对最大的 y 轴范围使用自动计算的值。

x = linspace(-10,10,200);
y = sin(4*x)./exp(.1*x);
plot(x,y)
axis([-10 10 0 inf])

Matlab中axis函数使用

设置多个坐标轴的坐标轴范围

        从 R2019b开始,可以使用 tiledlayout 和 nexttile 函数显示分块绘图。调用 tiledlayout 函数以创建一个 2×1分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制数据。然后将两个坐标区的轴范围设置为相同的值。

tiledlayout(2,1)
x1 = linspace(0,10,100);
y1 = sin(x1);
ax1 = nexttile;
plot(ax1,x1,y1)

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

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

Matlab中axis函数使用

显示绘图而不显示坐标区背景

        绘制曲面而不显示坐标区的线条和背景。

surf(peaks)
axis off

Matlab中axis函数使用

使用紧凑的坐标轴范围并返回值

        绘制一个曲面。将坐标轴范围设置为等于数据范围,这样绘图可以扩展到坐标区边缘。

surf(peaks)
axis tight

Matlab中axis函数使用

        返回当前坐标轴范围的值。

l = axis

l = 1×6

    1.0000   49.0000    1.0000   49.0000   -6.5466    8.0752

更改坐标系的方向

        创建棋盘图并更改坐标系的方向。首先,使用 summer 颜色图创建绘图。默认情况下,x 轴的值按从左到右的顺序逐渐增加,y 轴的值按从下到上的顺序逐渐增加。

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

Matlab中axis函数使用

        反转坐标系,这样 y 的值按从上到下的顺序逐渐增加。

C = eye(10);
pcolor(C)
colormap summer
axis ij

Matlab中axis函数使用

添加新绘图时保留当前的坐标轴范围

        绘制一个正弦波。

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

Matlab中axis函数使用

        使用 hold on 将另一正弦波添加到坐标区中。通过将范围模式设置为手动来保留当前的坐标轴范围。

x = linspace(0,10);
y = sin(x);
plot(x,y)
y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off

Matlab中axis函数使用

        如果希望由这些坐标区自动选择合适的范围,请将范围模式设置回自动。

x = linspace(0,10);
y = sin(x);
plot(x,y)
y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off
axis auto

Matlab中axis函数使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138671.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux运维面试题2

    Linux运维面试题21.apache怎么实现负载均衡答案:多台机器跑apache,然后其中一台跑nginx,让nginx去代理多台apache实现负载均衡2.一台Linux服务器负载高,连接慢,怎么查看答案:先用w看负载多少,用top看哪个进程占用cpu高,同时用top按M看哪个进程占用内存多,用iotop看哪个进程读写频发,用sar命令或者nload命令查看网卡流量,是否跑满带宽3.现有A文件,编写shell…

  • kafka集群搭建&zookeeper集群搭建

    kafka集群搭建&zookeeper集群搭建1.安装准备jdk-8u162-linux-x64.tarzookeeper-3.4.12.tar.gzkafka_2.11-2.0.0.tgz2.准备至少三台虚拟机192.168.196.128192.168.196.131192.168.196.1323.Java环境安装(略…自行百度)4.搭建zookeeper集群在每台主机下执行以下步骤:移动至/usr/local下:mvzookeeper-3.4.12.tar.gz/usr/local解压,重命名:tar-z

  • php递归算法经典实例_php递归函数详解

    php递归算法经典实例_php递归函数详解在前面的文章中,我们给大家介绍了三种递归算法的实现方法,即“静态变量”、“全局变量”、“引用传参”。需要的朋友可以了解《PHP递归算法(一)》《PHP递归算法(二)》《PHP递归算法(三)》下面我们就给大家介绍如何通过xdebug调试运行PHP引用传参的递归算法。代码如下:…

  • Java网络编程基础(Netty预备知识)[通俗易懂]

    今天在家休息,闲来无事,写篇博客,陶冶下情操~~~我是分割线最近在重新学习Java网络编程基础,以便后续进行Netty的学习。整理了一下重要的基础知识点,供大家参考。正在读这篇随笔的你是否遇到

  • 流量分析基础篇

    流量分析基础篇流量分析1.流量分析是什么?  网络流量分析是指捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议、流量分析、统计等来发现网络运行过程中出现的问题。  CTF比赛中,通常比赛中会提供一个包含流量数据的PCAP文件,进行分析。2.数据包分析总体把握–协议分级–端点统计过滤赛选–过滤…

  • 【mysql 清空数据】清除mysql表中数据「建议收藏」

    【mysql 清空数据】清除mysql表中数据「建议收藏」主要命令有两种,一种是delete方式,一种是truncatetable方式。deletefrom表名;truncatetable表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncatetable也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号