两行的X轴标签

spa*_*kle 2 matlab plot label matlab-figure

str = {'HS31'; 'HS31 (Ridotto)';
    'Dax85';'Dax85 (Ridotto)';
    'FTSE89';'FTSE89 (Ridotto)';
    'SP98';'SP98 (Ridotto)';
    'Nikkei22';'Nikkei225 (Ridotto)';
    'SP457';'SP457 (Ridotto)';
    'Russ1318';'Russ1318 (Ridotto)';
    'Russ2151';'Russ2151 (Ridotto)';
    'Eurostoxx';'Eurostoxx (Ridotto)';
    'Ftse';'HS31 (Ridotto)';
    'Mibtel';'Mibtel (Ridotto)';
    'SP';'SP (Ridotto)';
    'Nasdaq';'Nasdaq (Ridotto)';

};
h=figure;
bar(t);
set(gca, 'XTickLabel',str, 'XTick',1:numel(str))

saveas(h, 'Backtesting/computing_time.png');
Run Code Online (Sandbox Code Playgroud)

我无法阅读情节下方的文字.你知道怎么解决吗?

截图:https://www.dropbox.com/s/g43iegh4oeng3kf/computing_time.png 在此输入图像描述

Div*_*kar 9

如果您可以使用90度旋转文本,则可以尝试使用基于非常有用的x标签旋转文本工具的代码, here

h=figure;
bar(randi(9,26,1),'EdgeColor','g') %// Assumed random data for demo
set(gca, 'XTickLabel',str, 'XTick',1:numel(str))
xticklabel_rotate([],90,str);%% File-exchange code %// xlabel text rotated
saveas(h, 'computing_time.png');
Run Code Online (Sandbox Code Playgroud)

带有一些随机数据的样本图

在此输入图像描述

如果您可以对x标签文本进行下采样,例如仅显示每个其他标签,请在创建图形句柄之前使用此权限 -

str(1:2:end)={[]}
Run Code Online (Sandbox Code Playgroud)

其余代码保持不变.输出图看起来像这样 -

在此输入图像描述

如果您仍希望保持数据水平,则需要通过良好因素对标签数量进行下采样.在您给定的示例中,一个有效的因素4.代码中的更改是在声明后立即添加以下代码str,当然还要评论x-label旋转工具的使用情况 -

str1 = cell(1,numel(str));
str1(1:4:end) = str(1:4:end);
str = str1;
Run Code Online (Sandbox Code Playgroud)

这里的技巧是为要跳过的x标签使用空单元格.

结果 -

在此输入图像描述