础上进行升级完善,给出更加自由的坐标轴刻度标签旋转:
1.支持上下左右四个坐标轴的刻度标签旋转
2.支持plotyy及其他所有画图函数返回的axes句柄的刻度标签旋转(谢老师的我尝试过除了plot以外其他的画图函数有的支持的不是很好)
3.增加刻度标签的对齐方式(left | center | right)
实现核心说白了就是 利用text命令来重新绘制刻度标签。
可能有人要问为什么要进行坐标轴刻度标签旋转?当你要进行坐标轴刻度标签的自由控制,你就知道这有多重要了。
实例展示:
实例代码:- %% TickLabelRotate_Test
- % by LiYang
- % Email:farutoliyang@gmail.com
- % 2012/3/17
- % Matlab Version : Matlab R2011b
- %% A Little Clean Work
- tic;
- clear;
- clc;
- close all;
- format compact;
- %% TickLabelRotate(AX_handle,tag,rot,HorizontalAlignment,UpDown)
- x = 1:3;
- y = [-1,0,1];
- ylabel = {'-1(小)';'0(中)';'1(大)'};
- xlabel = {'2008-01-01';'2009-01-01';'2010-01-01'};
- figure;
- % 下
- subplot(2,2,1);
- plot(x,y);
- set(gca,'XTickLabel',xlabel);
- set(gca,'YTickLabel',ylabel);
- set(gca,'XTick',x);
- set(gca,'YTick',y);
- TickLabelRotate(gca,'x',60,'right',1);
- % 上
- subplot(2,2,2);
- plot(x,y);
- set(gca,'XTickLabel',xlabel);
- set(gca,'YTickLabel',ylabel);
- set(gca,'XTick',x);
- set(gca,'YTick',y);
- set(gca,'XAxisLocation','Top');
- TickLabelRotate(gca,'x',30,'left',2);
- % 左
- subplot(2,2,3);
- plot(x,y);
- set(gca,'XTickLabel',xlabel);
- set(gca,'YTickLabel',ylabel);
- set(gca,'XTick',x);
- set(gca,'YTick',y);
- TickLabelRotate(gca,'x',60,'right',1);
- TickLabelRotate(gca,'y',30,'right',3);
- % 右
- subplot(2,2,4);
- plot(x,y);
- set(gca,'XTickLabel',xlabel);
- set(gca,'YTickLabel',ylabel);
- set(gca,'XTick',x);
- set(gca,'YTick',y);
- set(gca,'YAxisLocation','Right');
- TickLabelRotate(gca,'y',30,'left',4);
- %% Record Time
- toc;
[color=rgb(51, 102, 153) !important]复制代码
坐标轴刻度标签旋转升级版TickLabelRotate.m源代码。
|