matlab清除坐标轴,matlab 使用技巧之设置坐标轴

2023-05-16

使用matlab的绘图函数plot绘图时系统默认设置了一些属性,例如坐标轴字号大小等并根据情况自动设置坐标轴显示的上下限,这些属性可以通过函数灵活改动,此处总结一小部分。

figure;

%设置坐标轴线宽,加边框,坐标字号

axes('linewidth',1, 'box', 'on', 'FontSize',16);

%设置坐标轴label

xlabel('时间(s)','FontSize',16);

ylabel('压力(pa)','FontSize',16);

grid on;

hold on;

plot(ScopeData1.time, ScopeData1.signals.values, 'k',

'linewidth', 1);

%设置坐标轴上下限

xlim([0, 0.5]);

ylim([5300000, 5800000]);

ppfranklee 的 MATLAB 操纵坐标轴

axis off;

% 去掉坐标轴

axis tight;  % 紧坐标轴

axis equal;  % 等比坐标轴

axis([-0.1, 8.1, -1.1, 1.1]);  %

坐标轴的显示范围

% gca: gca, h=figure(...);

set(gca, 'XLim',[3 40]);  % X轴的数据显示范围

set(gca, 'XTick',[-3.14,0,3.14] );  %

X轴的记号点

set(gca, 'XTicklabel',{'-pi','0','pi'});  %

X轴的记号

set(gca, 'XTick', []);  % 清除X轴的记号点

set(gca, 'XGrid','on');  % X轴的网格

set(gca, 'XDir','reverse');  % 逆转X轴

set(gca, 'XColor','red');  % X轴的颜色

matlab 画图, 去掉边

2011-02-25 11:12

1. 去掉边框, 空白区域。

首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。

screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。

figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。

plot(j,y,'Marker','+','LineWidth',1.5,'LineStyle',':','Color',[0 0

1])

% 设置坐标轴距离画板边距, 左下山下,依次调整图的空白区域。

set (gca,'position',[0.1,0.1,1,1] );

2.

用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚。

我摸索出比较好的方法是如下的代码:

%%%%%%%%%%%%%%%%%%%%%

%plot your figure before

%%%%%%%%%%%%%%%%%%%%%

% figure resize

set(gcf,'Position',[100 100 260 220]);

set(gca,'Position',[.13 .17 .80 .74]);

figure_FontSize=8;

set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');

set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');

set(findobj('FontSize',10),'FontSize',figure_FontSize);

set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

解释:

set(gcf,'Position',[100 100 260 220]);

这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm

set(gca,'Position',[.13 .17 .80 .74]);

这句是设置xy轴在图片中占的比例,可能需要自己微调。

figure_FontSize=8;

set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');

set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');

set(findobj('FontSize',10),'FontSize',figure_FontSize);

这4句是将字体大小改为8号字,在小图里很清晰

set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);

这句是将线宽改为2

3.

4.设置坐标轴参数

(1)axis,设置当前轴的坐标范围;

(2)axes,用指定的特征创建一个新坐标轴;

(3)get和set,查询或设置已有轴的各种特性;

(4)gca,返回当前轴的句柄。

如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:

axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。

对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如

set(gca,’ytick’,[-0.3:0.1:1]);

可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:

set(gca,’Xtick’,-pi[转载]matlab绘图坐标属性设置i/2[转载]matlab绘图坐标属性设置i);

set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’};

Axis square设置两坐标轴长度成相等。

Axis equel设置坐标轴标记间距相等;

Axis equel tight;设置图形以紧缩方式显示。

5.图形窗口

figure(2);%以第二个图形窗口作为当前图形输出的窗口;

subplot(m,n,i);%分成m×n个小区域,I指定当前绘图区域;

colordef 颜色;%如white,black等,设置绘图背景颜色。

6.图形标注

Matlab提供了几个函数用于图形的标注:

函数名功能描述

Title添加图形标题

Xlabel,xlabel,zlabel添加X,Y,Z轴标注

Legend在图形中添加图例

Text在指定位置显示文本

Gtext使用鼠标将指定文本放在图形中的位置

如下为添加标题,坐标轴标注实例:

>>

t=0[转载]matlab绘图坐标属性设置i/100[转载]matlab绘图坐标属性设置i*2;

>> plot(t,sin(t));

>> xlabel('t=0 to 2pi','Fontsize',16);

>> ylabel('sin(t)','fontsize',16);

>> title('Value of the Sine from Zero to Two

pi','fontsize',16)

注:标注时:pi显示成希腊字母,alpha,beta。

在图形中添加标注与图例,如下:

>>

t=0[转载]matlab绘图坐标属性设置i/100[转载]matlab绘图坐标属性设置i*2;

>> plot(t,sin(t));

>> xlabel('t=0 to 2pi','Fontsize',16);

>> ylabel('sin(t)','fontsize',16);

>> title('Value of the Sine from Zero to Two

pi','fontsize',16)

>>

text(3*pi/4,sin(3*pi/4),'leftarrow=.707','fontsize',16)

>>

text(pi,sin(pi),'leftarrowsin(t)=0','fontsize',16)

>>

text(5*pi/4,sin(5*pi/4),'sin(t)=-.707rightarrow','HorizontalAlignment','right','fontsize',16)

>> gtext('graph of function sin(x)')

%可以用鼠标指定字符串所需放设位置。

>> H=legend('con','sin',0) %绘制图例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab清除坐标轴,matlab 使用技巧之设置坐标轴 的相关文章

  • 在 Matlab 中保存 Kinect 深度图像?

    通过使用 Kinect 我可以获得深度图像 其中每个深度图像像素存储相机和物体之间的距离 以毫米为单位 现在我想保存它们以便以后使用 最好的推荐是什么 我正在考虑将深度图像保存为图像 jpg png等 然而 该值通常是从50毫米到10000
  • 更新:随机将行添加到矩阵中,但遵循严格的规则

    以下是一个更大的矩阵的一部分 0 1 0000 1 0000 77 0000 100 0000 0 0 2500 0 1 0000 1 0000 72 0000 100 0000 0 2500 0 2500 0 1 0000 1 0000
  • MATLAB 变量传递和惰性赋值

    我知道在 Matlab 中 当将新变量分配给现有变量时 会进行 惰性 评估 例如 array1 ones 1 1e8 array2 array1 的价值array1不会被复制到array2除非元素array2被修改 由此我推测Matlab中
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • Mathworks 生成 Matlab HTML 文档的方法是什么?

    我正在开发共享的 Matlab 代码 我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享 我知道以下生成文档的方法 编写一个类似于 C 文件的转换器 这是在中完成的将 Doxygen 与 Matlab 结合使用 http ww
  • 在矩阵中找到叉的最快方法

    定义 A i j 1 是十字的中点 如果元素A i 1 j 1A i 1 j 1A i j 1 1A i j 1 1 这些元素和中点一起形成矩阵 A 中的十字 其中 A 至少是一个 3 3 矩阵 并且i j 0 假设上图是 8 8 矩阵 A
  • 如何在Matlab中将图像从笛卡尔坐标更改为极坐标?

    我正在尝试将图像的像素从 x y 坐标转换为极坐标 但我遇到了问题 因为我想自己编写该函数 这是我到目前为止所做的代码 function newImage PolarCartRot read and show the image image
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • matlab中优先级队列的实现方法

    matlab中有没有提供minpriorityqueue功能的库 import java util PriorityQueue import java util public class MyQueue Comparator
  • 如何在matlab中使矩阵图平滑

    就像上图一样 怎样才能让画面更流畅呢 或者缩小y轴的范围 数据来自二维矩阵 然后我用plot data 请随意提出任何想法 平滑线条的一种方法涉及样本点之间数据的非线性插值 当你这样做时plot x y o http www mathwor
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • 在Matlab图例中使用Latex?

    我的 matlab 不接受我的 Latex 例如 如果我使用legend b 6 rightarrow b 7 它没有向我显示箭头 我该如何解决这个问题 尝试使用 Latex 解释器 例如 legend b 6 rightarrow b 7
  • matlab中简单正弦波的傅里叶变换

    我尝试显示简单正弦波的频谱 因为我们知道具有固定频率的单个正弦波必须在其频谱中出现峰值我编写了这段代码 但我无法得到这个峰值我的代码中有什么问题 clc nsteps 200 number of signal elements in tim
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • Matlab的uicontrol在Octave中的实现?

    我正在尝试在 Octave 中运行我们实验室中使用的图形程序的 m Matlab 代码 Octave 告诉我代码中使用的函数 uicontrol 没有定义 经过一番搜索 我发现 JHandles 包有一个 uicontrol GUI 功能的
  • 如何从一个清晰的例子计算二维图像中的吉布斯能量

    我有一个关于矩阵的有趣问题 在吉布斯分布中 吉布斯能量U x 可以计算为 这是所有可能的派系 C 上的派系势 Vc x 的总和 右图 团 c 被定义为 S 中站点的子集 x 蓝色像素的邻域是左图中黄色像素的邻居 其中每对不同的站点都是邻居
  • Matlab 的 fftn 在多线程下变得更慢?

    我可以访问 12 核机器和一些严重依赖 fftn 的 matlab 代码 我想加快我的代码速度 由于 fft 可以并行化 我认为更多的内核会有所帮助 但我看到的恰恰相反 这是一个例子 X peaks 1028 ncores feature
  • MATLAB 中的内存映射文件?

    我决定使用 memmapfile 因为我的数据 通常为 30Gb 到 60Gb 太大 无法放入计算机内存中 我的数据文件由两列数据组成 对应于两个传感器的输出 并且它们采用 bin 和 txt 格式 m memmapfile G E Str
  • 如何在 MATLAB 的 for 循环中读取多个图像?

    我已将结果分段放在一个文件夹中 这些需要在 for 循环中读取并在循环中进一步处理 我尝试阅读如下 for i 1 10 file name dir strcat C Users adminp Desktop dinosaurs im im

随机推荐