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', 自定义坐标刻度)是数据坐标替换为标签,即自定义的坐标,可以是任意形式。
更多推荐
已为社区贡献1条内容
所有评论(0)