在Matlab中,如何实现xticklabel的旋转?转

2018-09-18

2009-05-01 18:05

[原创]在Matlab中,如何实现xticklabel的旋转?

在撰写科技论文时,不可避免的要使用图片显示试验结果。excel固然可以用来画图,但是excel画出来的图片不够精美,漂亮。Matlab是一个很强大的工具(我对其他功能知之甚少),可以画出很精美的图片,并且可以直接存储为.eps格式,方便在LaTex中调用。

我在使用Matlab是遇到了一个问题,就是由于xticklabel的字符串过长,导致多个ticklabel重叠。

首先,为初学者解释一下什么是ticklabel?什么是label?

一般情况下,label是可以通过属性设置其旋转的,但是,这并不是我们要旋转的东西,我们想旋转的是ticklabel,而ticklabel在axis属性对话框中通过设置style只能设置FontSize和FontWeight等属性,并不能旋转。

我通过一个函数实现ticklabel的旋转

function th=rotateticklabel(h,rot,demo)

%ROTATETICKLABEL rotates tick labels

%   TH=ROTATETICKLABEL(H,ROT) ris the calling form where H is a handle to

%   the axis that contains the XTickLabels that are to be rotated. ROT is

%   an optional parameter that specifies the angle of rotation. The default

%   angle is 90. TH is a handle to the text objects created. For long

%   strings such as those produced by datetick, you may have to adjust the

%   position of the axes so the labels don"t get cut off.

%

%   Of course, GCA can be substituted for H if desired.

%

%   TH=ROTATETICKLABEL([],[],"demo") shows a demo figure.

%

%   Known deficiencies: if tick labels are raised to a power, the power

%   will be lost after rotation.

%

%   See also datetick.

%   Written Oct 14, 2005 by Andy Bliss

%   Copyright 2005 by Andy Bliss

%DEMO:

if nargin==3

x=[now-.7 now-.3 now];

y=[20 35 15];

figure

plot(x,y,".-")

datetick("x",0,"keepticks")

h=gca;

set(h,"position",[0.13 0.35 0.775 0.55])

rot=90;

end

%set the default rotation if user doesn"t specify

if nargin==1

rot=90;

end

%make sure the rotation is in the range 0:360(brute force method)

% while rot>360

%     rot=rot-360;

% end

% while rot<0

%     rot=rot+360;

% end

%get current tick labels

a=get(h,"XTickLabel");

%erase current tick labels from figure

set(h,"XTickLabel",[]);

%get tick label positions

b=get(h,"XTick");

c=get(h,"YTick");

%make new tick labels

if rot<180

th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,"HorizontalAlignment","right","fontsize",14,"fontweight","bold","rotation",rot);

else

th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,"HorizontalAlignment","left","fontsize",14,"fontweight","bold","rotation",rot);

end

如何使用这个函数呢?

x = round(rand(5,3)*10);

h=bar(x,1,"group");

set(gca,"xticklabels",{"benchmark1","benchmark2","benchmark3","benchmark4","benchmark5"});

h = gca;

th=rotateticklabel(h, 45);

效果

<

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

matlab xticklabel 旋转,在Matlab中,如何实现xticklabel的旋转?转相关推荐

  1. matlab三维 旋转矩阵,matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  2. matlab中如何转动三维图_matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  3. matlab因子载荷矩阵正交旋转,因素分析中的矩阵旋转

    因素分析中的矩阵旋转 因素分析法 因素分析是一种统计技术,目的是从众多的可观测的"变量"中,概括和推论少数"因素".用最少数的"因素"来概括 ...

  4. 如何用matlab画旋转面,基于MATLAB在旋转面及其方程教学中应用的教学设计

    汝强 [摘 要]在空间解析几何教学中,MATLAB不仅能将复杂的空间曲面方程精准.直观地用三维图形表现出来,还能以动画的形式将空间复杂曲面任意旋转,使学生能直观地.全方位地观察.理解空间曲面方程所表示 ...

  5. matlab abc dq,关于matlab及pscad中abc2dq模块的使用.doc

    关于matlab及pscad中abc2dq模块的使用.doc 关于matlab 及pscad 中abc2dq 模块的使用 Abc2dq 是电气控制系统中经常需要使用的模块,一般书本中对其的定义如下: ...

  6. matlab yticklable,Matlab绘制XTickLabel有效字符串(Matlab Plot XTickLabel valid strings)

    Matlab绘制XTickLabel有效字符串(Matlab Plot XTickLabel valid strings) 我有一个情节: x = [0 1 2 3]; y = [0 0 1 1]; ...

  7. matlab程序模拟汽车理论中的数据特性图动力特性图,matlab程序模拟汽车理论中的数据特性图1.doc...

    matlab程序模拟汽车理论中的数据特性图1.doc 车辆理论作业第三组第一大题确定一辆轻型货车的动力性能1.绘制发动机的使用外特性曲线N60014000NN/1000T1931329527N/100 ...

  8. 磁镜现象matlab,MATLAB仿真带电粒子在磁场中磁镜现象

    [摘要]借助MATLAB数学工具软件,使用数值计算的方法计算带电粒子磁场中的运动方程,对非均匀磁场的磁镜现象进行仿真,使人们对带电粒子在磁场磁镜现象有个更直观的了解. [关键词]MATLAB:带电粒子 ...

  9. matlab三维 旋转矩阵,matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用...

    matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用 matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用操作 matlab旋转矩阵实战: ①点 ...

  10. matlab将图像用傅里叶旋转,用matlab实现数字图像处理几个简单例子.doc

    用matlab实现数字图像处理几个简单例子.doc 实验报告实验一 图像的傅里叶变换(旋转性质)实验二 图像的代数运算实验三 filter2 实现均值滤波实验四 图像的缩放朱锦璐04085122实验一 ...

最新文章

  1. Jmeter中文乱码问题
  2. jdk 5 到 jdk 10各个版本的新特性
  3. ipython和python怎么用_如何使用IPython重新加载和自动加载?
  4. 送书 | 222Beta多样性限制性排序CPCoA/CCA/RDA/LDA
  5. 学习API 判断光驱是否为光盘
  6. 计算机二级新考纲什么时候出来,有计算机二级考试(VFP)的新考纲吗?
  7. $.ajax()在IE9下的兼容性问题
  8. 利用分类模型学习特征权重
  9. 关于连接参数-Ttext
  10. 公钥加密_河海大学陆阳、李继国:不依赖双线性对的带关键字搜索的无证书公钥加密方案构造...
  11. 如果软件测试是门艺术,软件测试工程师就是艺术家 -- 浅析ZStack是如何做智能软件测试
  12. 娃哈哈的新品,为什么打动不了年轻人?
  13. H5网站接入Paypal支付接口
  14. 给一个不多于5位的正整数,要求: ①求出它是几位数②分别输出每一位数③按逆序输出各位数字,例如原数为123,应输出321
  15. 随机,摇号、彩票,生成随机数或是随机字符串(万能的evaluate) 。如何找到随机中的规律
  16. android 获取亮度,如何读取Android屏幕亮度/暗淡的实时,当前值?
  17. 从零开始的命令行CLI
  18. 2020互联网大厂的薪资职级一览
  19. GDAL开发(一)cs2cs
  20. 如何黑入安卓手机(ezsploit)

热门文章

  1. 人民币对澳元汇率的大数据分析与预测
  2. python 哈希_python实现哈希集合
  3. 2014年度江西省高等学校科技落地计划项目立项名单
  4. 555定时器组成的应用之流水灯
  5. 阿里 P7 到底是怎样的水平?
  6. CMUX协议学习总结
  7. Android Studio Logcat 左边的工具栏不显示了 Show Toolbar
  8. 算法和程序有何异同?
  9. 非常实用的一键开关机电路
  10. 傲腾服务器硬盘,Intel P5800X傲腾硬盘实测:不愧是世界最强