Matlab中将横纵坐标改为自定义标签(set(gca,xtick)&set(gca,xticklabel))

1、本文目标

        学会set(gca,xtick)和set(gca,xticklabel)的使用,同时穿插了删除或插入某个维度的网格

2、使用方法

        set(gca,'xtick',坐标刻度);

        set(gca,'xticklabel',自定义坐标刻度);

        可以发现:两者的区别在于坐标刻度。前者的坐标刻度依赖于数据的真实坐标,后者的坐标刻度完全是自定义的。

3、具体内容:

3.1 完整代码预览

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');
set(gca, 'xtick', 1:2:6);
set(gca,'xticklabel',{'label1', 'label2', 'label3'},'FontSize',15);

3.2 分段演示

3.2.1 先画出一个普通的正弦函数

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);
grid on;axis tight;

结果如图:

发现:默认坐标轴是[1, 1.5, …, 6]

3.2.2 (可跳过直接看3)插入一个技巧——关闭或开启某个维度的网格线

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');

如图所示:

 如图所示,关闭了X轴对应的网格线

3.2.3 set(gca,'Xtick', 坐标刻度)

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');
set(gca, 'xtick', 1:2:6);

如图所示:

 发现,此时的横坐标已经变成了预设的1:2:6=[1 3 5]

注意此时的1:2:6是来自于正弦函数的横坐标1:0.01:2*pi的。如果超过这个范围则刻度不会显示,例

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');
set(gca, 'xtick', 10:2:16);

代码中将坐标刻度改为10:2:16,此时结果为:

发现,由于横坐标刻度超出了正弦函数的自变量范围,横坐标刻度不显示。

3.2.4 自定义横坐标:set(gca,'Xticklabel', 自定义坐标刻度)

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');
set(gca, 'xtick', 1:2:6);
set(gca,'xticklabel',{'label1', 'label2', 'label3'},'FontSize',15);

结果如图

 发现,在原来[1 3 5]的位置处替换成了[label1 label2 label3]

3.2.5 如果不set(gca,'Xtick', 坐标刻度)就直接set(gca,'Xticklabel', 自定义坐标刻度)的结果

x = 1:0.01:2*pi;
y = 2*sin(2*x);
figure;
plot(x,y);grid on;axis tight;
set(gca,'XGrid','off');
% set(gca,'XGrid','on');
% set(gca, 'xtick', 1:2:6);
set(gca,'xticklabel',{'label1', 'label2', 'label3'},'FontSize',15);

如图所示

 发现,该结果是在原来的默认坐标轴[1, 1.5, …, 6]处将默认刻度换成了自定义刻度。

Y,Z轴刻度同理

4、综上总结

set(gca,'Xtick', 坐标刻度)是对数据的默认坐标进行修改,此时的坐标刻度与所绘数据相关。

set(gca,'Xticklabel', 自定义坐标刻度)是数据坐标替换为标签,即自定义的坐标,可以是任意形式。

来源:Mr_Wang_up

物联沃分享整理
物联沃-IOTWORD物联网 » Matlab中将横纵坐标改为自定义标签(set(gca,xtick)&set(gca,xticklabel))

发表评论