2017-07-31 1261 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

好的!謝謝您的幫助。 –