Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB子图标题和轴标签

我有以下脚本来最终绘制4 x 2子图:

files = getAllFiles('preliminaries'); n = size(files); cases = cell(1, n); m = cell(1, n); for i = 1:1:n S = load(files{i}); cases{i} = retransmission_distribution(S); c = size(cases{i}); m{1,i} = cell(1, c(2)); %figure(i); str_size = size(files{i}); title_str = files{i}(5:str_size(2) - 4); title_str = strrep(title_str, '_', ' '); %title(title_str); for j = 1:1:c(2) [x, y] = hist(cases{i}{1,j}); m{1,i}{1,j} = [x; int32(y)]; % subplot(4, 2, j); % xlabel('Number of Retransmissions'); % ylabel('Number of Occurrences'); % bar(y, x, 'histc'); end end 但是,按照命令序列的当前顺序,即使没有注释,标题和轴标签也会存在一段时间,然后再被擦除。我希望该图具有其自己的标题,每个子图都有其自己的轴标签。最简单的解决方法是什么?



回答:

对于轴标签, Matt是正确的 ,必须调用BAR 之后放置它们。这将解决一个轴标签问题。但是,您可能会注意到,如果您的y轴标签太长,则最终可能会被彼此覆盖。您有几种选择可以解决此问题。首先,您可以在致电YLABEL时调整字体大小:

ylabel('Number of Occurrences','FontSize',7); 第二,您可以通过使用字符串单元格数组而不是单个字符串,将一个长标签转换为多行标签:

ylabel({'Number of' 'Occurrences'}); 要在整个图形上添加标题,最好的选择可能是制作一个UICONTROL静态文本对象并调整其位置,使其放置在图形顶部附近。您可以先获取图形的大小和位置,以帮助您将文本框放在顶部和中央附近:

figureSize = get(gcf,'Position'); uicontrol('Style','text',... 'String','My title',... 'Position',[(figureSize(3)-100)/2 figureSize(4)-25 100 25],... 'BackgroundColor',get(gcf,'Color')); 这将创建一个静态文本框,该文本框的宽度为100像素,高度为25像素,位于图的顶部中央,并且背景颜色与图相同。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 22:59


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.