2015-01-08 2 views
2

Я хочу увеличить размер метки метки, соответствующий цветной панели, в графике тепловой карты, созданном с использованием модуля 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) 

Обычно я бы изменить labelsize ключевое слово с использованием метода tick_params на Colorbar объектно оси, но с функцией heatmap() я могу передать только kwargs в конструктор Colorbar. Как изменить размер метки метки для цветной панели на этом графике?

ответ

3

После того, как вы позвоните heatmap, то оси colorbar получат ссылку на атрибут axes объекта фигуры. Таким образом, можно либо установить фигуру раньше времени или получить ссылку на него после того, как заговор с plt.gcf, а затем тянуть оси Colorbar объекта, что путь:

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

Спасибо! Я не был уверен, как добраться до объекта 'axes'. – 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) 

Я почти всегда начинаю свои участки таким образом, явно создавая объект fig и ax. Это немного более многословно, но, поскольку я, как правило, забываю свой matplotlib-foo, я не путаюсь с тем, что я делаю.

+0

Ответ выше не работает для меня, этот сделал. – Archie

Смежные вопросы