Matlab中set-gca函数的使用

本文详细介绍了如何在Matlab中定制坐标轴,包括删除刻度、调整刻度风格、设置范围和精确度,以及实现自定义网格和标签。通过实例演示了如何根据论文标准和实际需求调整坐标轴,适合数据可视化和图形设计者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Matlab坐标修改gca 

 1、 坐标轴删除  

set(gca,’xtick’,[]) %去掉x轴的刻度 
set(gca,’ytick’,[]) %去掉y轴的刻度  
set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度 

 
  
 

2、 Matlab中“坐标轴刻度”的不同风格 

set(gca,’xtick’,[]) %去掉x轴的刻度 
set(gca,’ytick’,[]) %去掉y轴的刻度  
set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度 

另附上Matlab坐标调整程序一段: 

x=20:10:20000; 
y=rand(size(x)); 
semilogx(x,y); 
set(gca,’XLim’,[20 20000]);
             就是设置当前图的横轴和纵轴的范围,lim就是limite的意思。
            也可以不用set设置,而直接用函数xlim和ylim设置
            xlim(gca,[-20,20]);
            ylim(gca,[-20,20]);
            也可以用函数axis设置
            axis(gca,[-20,20,-20,20])

            gca是get hanlde to current axis(得到当前图的句柄),除set函数外在以上函数中均可省略不写,默认就是gca。

set(gca,’XMinorTick’,’off’);          %关闭精准坐标刻度
set(gca,’XTick’,[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]); 
set(gca,’XGrid’,’on’);                  %绘制X轴垂直网格线
set(gca,’XMinorGrid’,’off’); 

3、 Matlab坐标轴刻度调整

subplot(3,2,1) 

plot(x) 

title('默认格式')  


subplot(3,2,2)

plot(x) 

set(gca,'xtick',[1 3 6 8]);

set(gca,'ytick',[]); 

title('x自定义间隔,y关闭')  


subplot(3,2,3) 

plot(x)  

set(gca,'xtick',[1 3 6 8]); 

set(gca,'xticklabel',sprintf('.4f|',get(gca,'xtick'))) 

set(gca,'ytick',[2 4 5 7]); 

set(gca,'yticklabel',{'Two','Four','Five','Seven'}); 

title('x、y自定义间隔、精度及显示方式')  


subplot(3,2,4) 

plot(x) 

set(gca,'xminortick','on');%style 5 

set(gca,'ticklength',[0.05 0.025]); 

set(gca,'tickdir','out'); 

title('x、y坐标刻度显示方式')   


subplot(3,2,5)

plot(x) 

set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]); 

set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]); 

title('论文中常用的标准3点式显示')  

x=20:10:20000; y=rand(size(x)); 


subplot(3,2,6) 

semilogx(x,y);

set(gca,'XLim',[20 20000]); 

set(gca,'XMinorTick','off'); 


set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]); 

set(gca,'XGrid','on');

set(gca,'XMinorGrid','off'); 

title('自定义网格显示') 


 %顺便附上可以格式化坐标刻度的程序段 

x=get(gca,'xlim'); 

y=get(gca,'ylim'); 

set(gca,'xtick',[x(1) (x(1)+x(2))/2 x(2)]);

set(gca,'ytick',[y(1) (y(1)+y(2))/2 y(2)]); 

------------- 

get(gca,'xlim');是获取最大最小刻度的 

 如果需要获取所有在坐标轴上显示的刻度,需要使用get(gca,'ytick') 

Axes对象的属性
(1)title('new','color','r');给坐标轴命名为new,红色
title({'this title','has 2 '});命名为两行的标题
(2)Units:有效值为pixels/normalized/inches /centimeters/points/characters
决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时, 以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。
(3)grid on:在图像中显示网格。
(4)children:控制axes对象的子对象,即image\light\line\patch \rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。
(5) 字体属性:
Fontangle字体角度(正常normal或斜体italic/oblique)
Fontname字体名称
fontsize 字体大小(单位由Fontunits决定)
fontunits字体单位(points/normalized/inches /centimeters/pixels)
fontweight字体粗细(normal/bold/light/demi)
gridlinestyle 决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线
plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线
(6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)
(7)NextPlot:有效值为add|replace|replacechildren,默认为 replace
add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性 (Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置 坐标轴的所有属性
(8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组 成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]
(9)Position 由位置向量[left,bottom,width,height]组成,决定坐标轴位置
(10)Tag定义本坐标轴的卷展栏,因为每一个对象都有 自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。
(11)visible决定坐标轴是否可见
(12)set(gca,'xgrid','on') 绘制X轴垂直网格线
set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度
set(gca,'box','on') 将图轴方框绘制出来
(13)set(gca,'xscale','linear');将X轴刻度设为线性
set(gca,'yscale','log'); 将Y轴刻度设为对数
(14)disp()显示一个数组,但不显示其数组名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余睿Lorin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值