如何在Matlab热力图中单独设置X轴刻度与X轴标签字体大小?
Matlab热力图单独调整X轴标签与刻度字体大小
我使用Matlab的heatmap函数生成热力图,效果如下:

目前X轴刻度(0、0.05等)的字体大小合适,但希望将X轴标签(如示例中的'Drive conversion rate')的字体调大。
当前代码如下:
h = heatmap(x_values, y_values, heatmap_values', 'MissingDataColor', 'w', 'GridVisible', 'off', 'MissingDataLabel', " ", 'CellLabelColor', 'none', 'ColorMethod', 'mean', 'ColorbarVisible','off'); title('Standard'); xlabel('Female drive fitness'); ylabel('Embryo resistance rate'); s = struct(h); s.XAxis.TickLabelRotation = 60; s.Axes.Title.FontSize = 8; s.XAxis.FontSize = 5.5; s.YAxis.FontSize = 5.5;
现在设置s.XAxis.FontSize会同时改变X轴刻度和X轴标签的字体大小,且找不到s.xLabel的FontSize参数,请问如何单独调整两者的字体大小?
解决方案
在Matlab中,heatmap对象的底层坐标轴(Axes)的XAxis.FontSize仅控制刻度标签大小,而X轴标题的字体大小需要通过坐标轴的XLabel属性单独设置。无需将heatmap对象转为结构体,直接通过对象属性访问即可:
- 调整X轴刻度字体大小:设置
h.Axes.XAxis.FontSize - 调整X轴标签字体大小:设置
h.Axes.XLabel.FontSize
修改后的完整代码:
h = heatmap(x_values, y_values, heatmap_values', 'MissingDataColor', 'w', 'GridVisible', 'off', 'MissingDataLabel', " ", 'CellLabelColor', 'none', 'ColorMethod', 'mean', 'ColorbarVisible','off'); title('Standard'); xlabel('Female drive fitness'); ylabel('Embryo resistance rate'); % 调整X轴刻度旋转角度 h.Axes.XAxis.TickLabelRotation = 60; % 设置标题字体大小 h.Axes.Title.FontSize = 8; % 设置X轴刻度字体大小(仅控制刻度) h.Axes.XAxis.FontSize = 5.5; % 设置X轴标签字体大小(单独控制标签) h.Axes.XLabel.FontSize = 10; % 可按需调整数值 % 设置Y轴刻度字体大小 h.Axes.YAxis.FontSize = 5.5;
这样就能实现X轴刻度和标签字体大小的独立调整。
内容的提问来源于stack exchange,提问作者Ammiba
相关产品推荐
相关产品推荐

