You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab中3D柱状图Y轴标签显示不全及X轴标签调整方案问询

Matlab 3D柱状图:修复Y轴标签显示不全并调整X轴标签位置

针对你遇到的两个问题,以下是基于Matlab原生功能的解决方案,直接修改你的代码即可:

核心修改点说明

  1. 修复Y轴标签显示不全:通过调整坐标轴的InnerPosition属性增大左侧边距,为Y轴标签留出足够空间;同时可手动微调标签位置确保完全显示。
  2. 调整X轴标签靠近刻度:修改X轴标签的Position属性,减小其与X轴刻度的垂直距离。

修改后的完整代码

clear; 
% Change default axes fonts.
set(0,'DefaultAxesFontName', 'Times New Roman')
set(0,'DefaultAxesFontSize', 21)

% Change default text fonts.
set(0,'DefaultTextFontname', 'Times New Roman')
set(0,'DefaultTextFontSize', 21)

% Define data
x = [100, 200, 300, 400, 500];

data = [
    5.3, 7.3, 4.3, 3.3, 1.3;
    4.3, 4.3, 4.3, 5.3, 10.3;
    2.3, 7.3, 2.3, 8.3, 2.3;
    1.3, 9.3, 8.3, 7.3, 0.3;
    9.3, 2.3, 0.3, 2.3, 0.3;
    6.3, 7.3, 9.3, 6.3, 7.3;
];

datasetNames = {'A', 'B', 'C', 'D', 'E', 'F'};

% Create a 3D bar chart
figure;
bar3(data);
% Customize the axes 
set(gca, 'XTickLabel', x, 'YTickLabel', datasetNames, 'FontSize', 21); % Set x-axis labels as number of tasks

% Align labels
xlh = xlabel('Task Count', 'FontSize', 21, 'FontName', 'Times New Roman', 'FontWeight', 'normal', 'Rotation', -30);
ylh = ylabel('Method', 'FontSize', 21, 'FontName', 'Times New Roman', 'FontWeight', 'normal', 'Rotation', 37);
zlh = zlabel('Fitness', 'FontSize', 21, 'FontName', 'Times New Roman', 'FontWeight', 'normal');

% Set Z-axis limits
zlim([0.31, max(data(:))]); % Start Z-axis at 0.0018

% Set view angle for better visualization
view(45, 30);

% --- 新增/修改部分:修复Y轴标签显示,调整X轴标签位置 ---
% 调整坐标轴内边距,为Y轴标签留出空间
ax = gca;
ax.InnerPosition = [0.15, 0.15, 0.7, 0.7]; % 左侧边距从默认值增大到0.15

% 手动微调Y轴标签位置,确保完全显示
ylh.Position = ylh.Position + [-0.5, 0, 0]; % 向左平移一点

% 调整X轴标签位置,靠近刻度
xlh.Position = xlh.Position + [0, -0.3, 0]; % 向下平移,拉近与刻度的距离
% --- 修改结束 ---

% Adjust figure size and layout
set(gcf, 'Units', 'normalized', 'Position', [0.2, 0.2, 0.6, 0.6]);

% Adjust paper size for saving
fig = gcf;
fig.PaperUnits = 'centimeters';
fig.PaperPosition = [0 0 14.4 12.4]; 
fig.PaperSize = [13.4 11.5];  % width & height of page

% Save the figure
print('FST_D_S2.pdf','-dpdf','-r1200');

补充说明

  • 如果调整InnerPosition后Y轴标签仍显示不全,可进一步增大第一个参数(左侧边距,范围0-1),比如改成0.2。
  • X轴标签的位置可根据实际显示效果微调Position的第二个值(垂直方向),负数表示向下移动,正数向上。

内容的提问来源于stack exchange,提问作者Santanu Ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 14:04:57