2017-07-31 1255 views
2

我想在MATLAB中生成热图,但无法更改yticklabels的字体大小。我无法找到一个函数,通过它我可以设置整个对象的字体大小。如何在HeatMap MATLAB中更改yticklabels的字体大小?

我试图设置使用全数字的字体大小:

set(gca, 'fontsize', 18) 

但是,这也不能正常工作。以下是代码和生成的数字。

df = randi(10,5,20); 

labely = {'Room-1', 'Room-2', 'Room-3', 'Room-4', 'Room-5'}; 
HMobj = HeatMap(df, 'RowLabels', labely, 'Colormap', 'redbluecmap'); 

HMobj.addXLabel('Time of Day', 'FontSize', 18); 

enter image description here

+1

'HeatMap'是** Bioinformatics Toolbox **的一部分**,不要与2017a中新的'heatmap'函数混淆。 – EBH

回答

3

有没有简单和直接的方式来做到这一点。但它并不复杂。

首先,让所有人物处理可见的,所以您可以访问所有的属性:

set(0,'ShowHiddenHandles','on') 

其次,获取句柄到热图的坐标轴:

h = findobj('Tag','HeatMapAxes'); 

现在,你可以改变你想要什么:

h.YAxis.FontSize = 18 

% or if you want to set the font size of all text in the figure: 
set(findall(h,'Type','Text'),'FontSize',18) 

enter image description here

+0

那么,他们没有任何直接的财产名称来做到这一点? –

+0

不适用于轴刻度标签,只适用于标签,就像您已经做过的那样。您可能想尝试使用['heatmap'](http://www.mathworks.com/help/matlab/ref/heatmap.html?s_tid=doc_ta)(如果您的版本为2017a),这似乎更加可调整。 – EBH

+0

好的!谢谢您的帮助。 –