MATLAB小技巧之二:旋转MATLAB坐标轴刻度标签
发布:AUGUST麦芽糖 | 分类:Matlab软件培训
关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
经管之家新媒体交易平台
提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】
TOP热门关键词
免费学术公开课,扫码加入 |
如果你还没有学习过MATLAB或者想系统的学习,建议参加我们的初中级实用现场培训。王小川主讲,送全部视频,三天可以学会你一年学的知识。点击了解。
【例】绘制一个周期上的正弦函数图形,将X轴刻度标签修改并旋转。
修改X轴刻度标签的matlab代码:
x = 0:0.05:2*pi;
y = sin(x);
plot(x,y);
str = '这里是0|这里是1|这里是2|这里是3|这里是4|这里是5|这里是6|这里是7';
set(gca,'xtick',0:7,'xticklabel',str);
绘制图形如下,显然X轴刻度标签是比较拥挤的:
http://attach.matlabsky.com/data/attachment/forum/201110/08/092153ru2ta6mkbwgqtwfg.jpg.thumb.jpg
调用自编函数旋转X轴刻度标签的matlab代码:
rotateticklabel(gca,'x',-30);
旋转后图形如下,拥挤状况得到解决:
http://attach.matlabsky.com/data/attachment/forum/201110/08/092217vywm2mqw7wqdumqm.jpg.thumb.jpg
自编的rotateticklabel 函数代码如下:
function TextHandle = rotateticklabel(ha,tag,rot)
% 旋转坐标轴刻度标签的函数
% ha 坐标系句柄(默认为当前坐标系)
% tag坐标轴标识字符串('X'或'Y'),默认旋转X轴标签
% rot旋转角度(单位:度)
%
% Example:
% x = 0:0.05:2*pi;
% y = sin(x);
% plot(x,y);
% rotateticklabel(gca,'x',-30);
%
% CopyRight:xiezhh(谢中华),2011.10
if ~ishandle(ha)
warning('第一个输入参数应为坐标系句柄');
return;
end
if ~strcmpi(get(ha,'type'),'axes')
warning('第一个输入参数应为坐标系句柄');
return;
end
if nargin == 1
tag = 'X';
rot = 0;
elseif nargin == 2
if isnumeric(tag) && isscalar(tag)
rot = tag;
tag = 'X';
elseif ischar(tag) && (strncmpi(tag,'x',1) || strncmpi(tag,'y',1))
rot = 0;
else
warning('输入参数类型错误');
return;
end
else
if ~isnumeric(rot) || ~isscalar(rot)
warning('输入参数类型错误');
end
if ~ischar(tag) || (~strncmpi(tag,'x',1) && ~strncmpi(tag,'y',1))
warning('输入参数类型错误');
end
end
axes(ha);
oldxticklabel = findobj(ha,'type','text','tag','oldxticklabel');
oldyticklabel = findobj(ha,'type','text','tag','oldyticklabel');
if strncmpi(tag,'x',1)
if isempty(oldxticklabel)
str = get(ha,'XTickLabel');
x = get(ha,'XTick');
yl = ylim(ha);
set(ha,'XTickLabel',[]);
y = zeros(size(x)) + yl(1) - range(yl)/30;
TextHandle = text(x,y,str,'rotation',rot,...
'Interpreter','none','tag','oldxticklabel');
else
set(oldxticklabel,'rotation',rot);
TextHandle = oldxticklabel;
end
else
if isempty(oldyticklabel)
str = get(ha,'YTickLabel');
y = get(ha,'YTick');
xl = xlim(ha);
set(ha,'YTickLabel',[]);
x = zeros(size(y)) + xl(1) - range(xl)/10;
TextHandle = text(x,y,str,'rotation',rot,...
'Interpreter','none','tag','oldyticklabel');
else
set(oldyticklabel,'rotation',rot);
TextHandle = oldyticklabel;
end
end
rot = mod(rot,360);
if rot>=0 && rot<180
set(TextHandle,'HorizontalAlignment','right');
else
set(TextHandle,'HorizontalAlignment','left');
end
时间 | 地点 | 费用 | 报名 |
10月1日-3日 | 北京,人民大学 | 3000元(学生1800) | 点此报名 |
10月25日-27日 | 广州,中山大学 | 3000元(学生1800) | 点此报名 |
【咨询联系方式】
QQ号:619492407
电话: (010)68472925(曾老师)
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
- Matlab软件 ... | 有关matlab jump-garch初始参数设 ...
- Matlab软件 ... | 动量交易策略——金钱豹matlab程 ...
- Matlab软件 ... | 请教下面 matlab代码哪里有问题 ...
- Matlab软件 ... | matlab axis 坐标轴控制
- Matlab软件 ... | MATLAB Linear Algebra by Cesar ...
- Matlab软件 ... | [下载]Business Economics and F ...
- Matlab软件 ... | 如何读取Matlab数据
- Matlab软件 ... | matlab和数值分析的英文资料pdf
人气文章
本文标题:MATLAB小技巧之二:旋转MATLAB坐标轴刻度标签
本文链接网址:https://bbs.pinggu.org/jg/ruanjianpeixun_matlabruanjianpeixun_2605418_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。