2015-01-08 120 views
2

我想在使用seaborn模塊創建的熱圖圖中增加與顏色條對應的刻度標籤大小。作爲一個例子:更改seaborn熱圖顏色條上的刻度大小

import seaborn as sns 
import pandas as pd 
import numpy as np 

arr = np.random.random((3,3)) 
df = pd.DataFrame(arr) 
ax = sns.heatmap(arr) 

一般我使用tick_params方法上的彩條軸對象將改變labelsize關鍵字,但與heatmap()函數I只能傳遞kwargs到彩條的構造。如何修改此圖中的彩條的勾號標籤大小?

回答

3

一旦您呼叫heatmap,顏色條軸將在圖形對象的axes屬性處獲得參考。所以,你既可以設置圖的時間提前或plt.gcf密謀後得到它的引用,然後拉彩條軸對象出現這樣的:

import seaborn as sns 
import pandas as pd 
import numpy as np 

arr = np.random.random((3,3)) 
df = pd.DataFrame(arr) 
ax = sns.heatmap(arr) 

cax = plt.gcf().axes[-1] 
cax.tick_params(labelsize=20) 
+0

謝謝!我不知道如何得到那個「軸」對象。 – pbreach

+0

請注意,您也可以傳遞將要繪製顏色條的特定軸對象,但如果您對默認位置感到滿意,則這太過於誇張。 – mwaskom

4

稍微不同的方式,避免了gcf()

import seaborn as sns 
import pandas as pd 
import numpy as np 

arr = np.random.random((3,3)) 
df = pd.DataFrame(arr) 

fig, ax = plt.subplots() 
sns.heatmap(arr, ax=ax) 
ax.tick_params(labelsize=20) 

我幾乎總是以這種方式開始我的情節,通過明確地創建一個figax對象。這有點冗長,但由於我傾向於忘記我的matplotlib-foo,所以我不會對我在做什麼感到困惑。

+0

上面的答案不適用於我,這是一個。 – Archie