百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

实例讲解MATLAB绘图坐标轴标签旋转

bigegpt 2024-10-28 12:47 4 浏览

在我们进行绘图时,需要在图片上添加上做标轴的标签,但是当数据量比较多时,例如一天24小时的数据,这时把每个小时显示在左边轴的标签上,文字内容放不下,因此需要将坐标轴标签旋转一定的角度,这样可以更好在图形上表现出我们想要呈现的效果。今天主要是以几个简单的实例介绍MATLAB绘图坐标轴标签旋转。


1.xtickangle函数

函数功能:旋转 x 轴刻度标签,此 MATLAB 函数 将当前坐标区的 x 轴刻度标签旋转到指定角度(以度为单位),其中 0 表示水平。指定正值表示逆时针旋转,负值表示顺时针旋转。

语法
xtickangle(angle)
xtickangle(ax,angle)
ang = xtickangle
ang = xtickangle(ax)
说明
xtickangle(angle) 
将当前坐标区的 x 轴刻度标签旋转到指定角度(以度为单位),
其中 0 表示水平。
指定正值表示逆时针旋转,负值表示顺时针旋转。
xtickangle(ax,angle) 
旋转 ax 指定的坐标区的刻度标签,而不是旋转当前坐标区的刻度标签。
ang = xtickangle 
以标量值形式返回当前坐标区的 x 轴刻度标签的旋转角度(以度为单位)。
正值表示逆时针旋转。负值表示顺时针旋转。
ang = xtickangle(ax) 使用 ax 指定的坐标区,而不是使用当前坐标区。

程序实例

clc;
clear all;
close all;
data1 = [-61.985731  0.09807398  98
-60.654782  0.118307152  85
-62.10265  0.12251611  82
-63.888355  0.104764369  92
-64.311429  0.026647907  107
-58.765987  0.037388049  119
-58.013333  0.03488062  127
-60.434386  0.030351077  128
-63.148462  0.035116094  120
-63.238462  0.039316079  106
-61.257429  0.043060216  89
-60.879329  0.047273744  74
-62.603173  0.052770037  68
-59.579087  0.039451698  74
-61.542441  0.057254602  90
-63.943248  0.062428356  114
-62.855078  0.041757097  139
-58.716246  0.082125854  162
-60.764546  0.044027447  179
-65.067856  0.085127171  187
-63.157738  0.106885576  184
-63.108333  0.099450438  171
-64.834721  0.088089775  151
-64.490828  0.086894242  126
];
data = [1:24];
figure;
subplot(3,1,1);
plot(data,data1(:,2));
xticks([1:24]);
xticklabels({'1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00',...
    '11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00',...
   '21:00','22:00','23:00','24:00'});
xlabel('time/h');
ylabel('tide/cm');
xtickangle(45); %x轴标签旋转45度
set(gca,'FontName','Times New Roman','FontSize',10.5);
subplot(3,1,2);
plot(data,data1(:,1));
xticks([1:24]);
xtickangle(45); %x轴标签旋转45度
xticklabels({'1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00',...
    '11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00',...
   '21:00','22:00','23:00','24:00'});
xlabel('time/h');
ylabel('SV/dB');
set(gca,'FontName','Times New Roman','FontSize',10.5);
subplot(3,1,3);
plot(data,data1(:,2));
xticks([1:24]);
xtickangle(45); %x轴标签旋转45度
xticklabels({'1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00',...
    '11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00',...
   '21:00','22:00','23:00','24:00'});


xlabel('time/h');
ylabel('Density/(ind/m^{3})');
set(gca,'FontName','Times New Roman','FontSize',10.5);
set(gcf,'unit','centimeters','position',[10 5 22 12])
set(gca,'XTickLabelRotation',46);

运行结果


2.ytickangle函数

功能:旋转 y 轴刻度标签
语法
ytickangle(angle)
ytickangle(ax,angle)
ang = ytickangle
ang = ytickangle(ax)
说明
ytickangle(angle) 将当前坐标区的 y 轴刻度标签旋转到指定角度
(以度为单位),其中 0 表示水平。指定正值表示逆时针旋转,
负值表示顺时针旋转。
ytickangle(ax,angle) 旋转 ax 指定的坐标区的刻度标签,
而不是旋转当前坐标区的刻度标签。
ang = ytickangle 以标量值形式返回当前坐标区的 y 轴刻度标签的
旋转角度(以度为单位)。正值表示逆时针旋转。负值表示顺时针旋转。
ang = ytickangle(ax) 使用 ax 指定的坐标区,而不是使用当前坐标区。

实例程序

clc;
clear all;
close all;
data = [0  585.76  298  585.76  298  585.76  298
0.1  557.6218608  302.8092487  556.1551935  301.2136497  556.1198666  300.4130501
0.2  531.1916909  307.0967308  529.6809085  304.0930011  529.5459545  302.5804936
0.3  507.677964  310.9198885  506.0065667  306.6733559  505.7213892  304.5277126
0.4  486.759645  314.3298342  484.8365359  308.9862838  484.3620808  306.277463
0.5  468.1510377  317.3720541  465.906398  311.0600217  465.2132941  307.8501496
0.6  451.5978946  320.0870271  448.9796538  312.9198246  448.046616  309.2640684
0.7  436.8739554  322.5107767  433.8447747  314.5882812  432.6572352  310.4751948
0.8  423.7778659  324.6753605  420.3125666  316.0855952  418.8615035  311.6795301
0.9  412.1304365  326.5176841  408.2138114  317.429837  406.4947493  312.708974
1  401.7722026  328.256087  397.397158  318.637169  395.4093162  313.635784
1.1  392.1284942  329.8840516  387.7272355  319.7220471  385.4728056  314.4705656
1.2  384.3712971  331.2675491  379.0829664  320.697401  376.5664992  315.2228282
1.3  377.0899475  332.5063927  371.3560572  321.574795  368.5839462  315.9010987
1.4  370.6171872  333.6165062  364.4496485  322.3645727  361.4296952  316.5130229
];
x = data(:,1);
y1 = data(:,2);
y2 = data(:,3);
y3 = data(:,4);
y4 = data(:,5);
y5 = data(:,6);
y6 = data(:,7);
c_map =  [0.00, 0.36, 0.67
          0.68, 0.42, 0.89
          0.44, 0.62, 0.98
          0.10, 0.67, 0.59
          0.99, 0.57, 0.59
          0.28, 0.55, 0.86
          0.96, 0.62, 0.24
          0.30, 0.90, 0.56
          0.12, 0.46, 0.71
          0.46, 0.63, 0.90
          0.96, 0.37, 0.40
          0.14, 0.76, 0.71
          0.99, 0.50, 0.02
          0.00, 0.57, 0.76
          0.35, 0.90, 0.89
          0.17, 0.62, 0.47
          0.21, 0.21, 0.67
          0.99, 0.49, 0.00
          0.98, 0.74, 0.44
          0.97, 0.60, 0.58
          0.18, 0.62, 0.17
          0.68, 0.87, 0.53
          0.12, 0.46, 0.70
          0.65, 0.79, 0.89
          0.95, 0.99, 0.69
          0.74, 0.92, 0.68
          0.37, 0.81, 0.72
          0.01, 0.72, 0.77];
figure;
plot(x,y1,'r-o','markerface','r');
hold on;
plot(x,y2,'g-^','markerface','g');
plot(x,y3,'-^','markerface',c_map(1,:),'Color',c_map(1,:));
plot(x,y4,'-<','markerface',c_map(2,:),'Color',c_map(2,:));
plot(x,y5,'->','markerface',c_map(3,:),'Color',c_map(3,:));
plot(x,y6,'-s','markerface','k','Color','k');
xlabel('m');
ylabel('T')
legend('Tf(400g/s)','Tw(400g/s)','Tf(600g/s)','Tw(600g/s)','Tf(800g/s)','Tw(800g/s)');
box off;
set(gca,'FontName','Times New Roman','FontSize',12);%修改字体为古罗马


angx = xtickangle %查询 x 轴刻度标签的当前角度
angy = ytickangle%查询 y轴刻度标签的当前角度
figure;
subplot(2,1,1);
plot(x,y1,'r-o','markerface','r');
hold on;
plot(x,y2,'g-^','markerface','g');
plot(x,y3,'-^','markerface',c_map(1,:),'Color',c_map(1,:));
plot(x,y4,'-<','markerface',c_map(2,:),'Color',c_map(2,:));
plot(x,y5,'->','markerface',c_map(3,:),'Color',c_map(3,:));
plot(x,y6,'-s','markerface','k','Color','k');
xlabel('m');
ylabel('T')
legend('Tf(400g/s)','Tw(400g/s)','Tf(600g/s)','Tw(600g/s)','Tf(800g/s)','Tw(800g/s)');
box off;
set(gca,'FontName','Times New Roman','FontSize',10);%修改字体为古罗马
subplot(2,1,2);
plot(x,y1,'r-o','markerface','r');
hold on;
plot(x,y2,'g-^','markerface','g');
plot(x,y3,'-^','markerface',c_map(1,:),'Color',c_map(1,:));
plot(x,y4,'-<','markerface',c_map(2,:),'Color',c_map(2,:));
plot(x,y5,'->','markerface',c_map(3,:),'Color',c_map(3,:));
plot(x,y6,'-s','markerface','k','Color','k');
xlabel('m');
ylabel('T')
legend('Tf(400g/s)','Tw(400g/s)','Tf(600g/s)','Tw(600g/s)','Tf(800g/s)','Tw(800g/s)');
box off;
set(gca,'FontName','Times New Roman','FontSize',10);%修改字体为古罗马
xtickangle(45);
ytickangle(45);

运行结果

angx =


     0




angy =


     0

3.ztickangle

函数功能:旋转 z 轴刻度标签
语法
ztickangle(angle)
ztickangle(ax,angle)
ang = ztickangle
ang = ztickangle(ax)
说明
ztickangle(angle) 将当前坐标区的 z 轴刻度标签旋转到指定角度
(以度为单位),其中 0 表示水平。指定正值表示逆时针旋转,
负值表示顺时针旋转。
ztickangle(ax,angle) 旋转 ax 指定的坐标区的刻度标签,
而不是旋转当前坐标区的刻度标签。
ang = ztickangle 以标量值形式返回当前坐标区的 z 轴刻度标签的
旋转角度(以度为单位)。正值表示逆时针旋转。负值表示顺时针旋转。
ang = ztickangle(ax) 使用 ax 指定的坐标区,而不是使用当前坐标区。

程序实例

clc;
clear all;
close all;
figure;
subplot(2,1,1)
[x,y,z] = peaks;
surf(x,y,z);
subplot(2,1,2)
[x,y,z] = peaks;
surf(x,y,z);
xtickangle(45);
ytickangle(45);
ztickangle(45);
%从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块图。
% 调用 tiledlayout 函数以创建一个 2×1 分块图布局。
% 调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制。
% 然后通过将 ax2 指定为 ztickangle 的第一个输入参数,旋转下部图的 z 轴刻度标签。
tiledlayout(2,1)
ax1 = nexttile;
stem3(ax1,2*rand(5))


ax2 = nexttile;
stem3(ax2,2*rand(5))
ztickangle(ax2,-45)
%创建一个曲面图。然后,查询 z 轴刻度标签的旋转角度。默认情况下,不会旋转标签。
[x,y,z] = peaks;
surf(peaks)
ang = ztickangle

运行结果


本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。


作 者 | 郭志龙

编 辑 | 郭志龙
校 对 | 郭志龙

相关推荐

AI「自我复制」能力曝光,RepliBench警示:大模型正在学会伪造身份

科幻中AI自我复制失控场景,正成为现实世界严肃的研究课题。英国AISI推出RepliBench基准,分解并评估AI自主复制所需的四大核心能力。测试显示,当前AI尚不具备完全自主复制能力,但在获取资源...

【Python第三方库安装】介绍8种情况,这里最全看这里就够了!

**本图文作品主要解决CMD或pycharm终端下载安装第三方库可能出错的问题**本作品介绍了8种安装方法,这里最全的python第三方库安装教程,简单易上手,满满干货!希望大家能愉快地写代码,而不要...

pyvips,一个神奇的 Python 库!(pythonvip视频)

大家好,今天为大家分享一个神奇的Python库-pyvips。在图像处理领域,高效和快速的图像处理工具对于开发者来说至关重要。pyvips是一个强大的Python库,基于libvips...

mac 安装tesseract、pytesseract以及简单使用

一.tesseract-OCR的介绍1.tesseract-OCR是一个开源的OCR引擎,能识别100多种语言,专门用于对图片文字进行识别,并获取文本。但是它的缺点是对手写的识别能力比较差。2.用te...

实测o3/o4-mini:3分钟解决欧拉问题,OpenAI最强模型名副其实!

号称“OpenAI迄今为止最强模型”,o3/o4-mini真实能力究竟如何?就在发布后的几小时内,网友们的第一波实测已新鲜出炉。最强推理模型o3,即使遇上首位全职提示词工程师RileyGoodsid...

使用Python将图片转换为字符画并保存到文件

字符画(ASCIIArt)是将图片转换为由字符组成的艺术作品。利用Python,我们可以轻松实现图片转字符画的功能。本教程将带你一步步实现这个功能,并详细解释每一步的代码和实现原理。环境准备首先,你...

5分钟-python包管理器pip安装(python pip安装包)

pip是一个现代的,通用、普遍的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能,是Python开发的基础。第一步:PC端打开网址:选择gz后缀的文件下载第二步:...

网络问题快速排查,你也能当好自己家的网络攻城狮

前面写了一篇关于网络基础和常见故障排查的,只列举了工具。没具体排查方式。这篇重点把几个常用工具的组合讲解一下。先有请今天的主角:nslookup及dig,traceroute,httping,teln...

终于把TCP/IP 协议讲的明明白白了,再也不怕被问三次握手了

文:涤生_Woo下周就开始和大家成体系的讲hadoop了,里面的每一个模块的技术细节我都会涉及到,希望大家会喜欢。当然了你也可以评论或者留言自己喜欢的技术,还是那句话,希望咱们一起进步。今天周五,讲讲...

记一次工控触摸屏故障的处理(工控触摸屏维修)

先说明一下,虽然我是自动化专业毕业,但已经很多年不从事现场一线的工控工作了。但自己在单位做的工作也牵涉到信息化与自动化的整合,所以平时也略有关注。上一周一个朋友接到一个活,一家光伏企业用于启动机组的触...

19、90秒快速“读懂”路由、交换命令行基础

命令行视图VRP分层的命令结构定义了很多命令行视图,每条命令只能在特定的视图中执行。本例介绍了常见的命令行视图。每个命令都注册在一个或多个命令视图下,用户只有先进入这个命令所在的视图,才能运行相应的命...

摄像头没图像的几个检查方法(摄像头没图像怎么修复)

背景描述:安防监控项目上,用户的摄像头运行了一段时间有部分摄像头不能进行预览,需要针对不能预览的摄像头进行排查,下面列出几个常见的排查方法。问题解决:一般情况为网络、供电、设备配置等情况。一,网络检查...

小谈:必需脂肪酸(必需脂肪酸主要包括)

必需脂肪酸是指机体生命活动必不可少,但机体自身又不能合成,必需由食物供给的多不饱和脂肪酸(PUFA)。必需脂肪酸主要包括两种,一种是ω-3系列的α-亚麻酸(18:3),一种是ω-6系列的亚油酸(18:...

期刊推荐:15本sci四区易发表的机械类期刊

  虽然,Sci四区期刊相比收录在sci一区、二区、三区的期刊来说要求不是那么高,投稿起来也相对容易一些。但,sci四区所收录的期刊中每本期刊的投稿难易程度也是不一样的。为方便大家投稿,本文给大家推荐...

be sick of 用法考察(be in lack of的用法)

besick表示病了,做谓语.本身是形容词,有多种意思.最通常的是:生病,恶心,呕吐,不适,晕,厌烦,无法忍受asickchild生病的孩子Hermother'sverysi...