Изменить размер шрифта заголовков фасетов, используя тепловую карту грани сеток
Примечание: это другой вопрос, чем " Как я могу изменить размер шрифта, используя seaborn FacetGrid?". Методы, предложенные там, не работают при использовании тепловой карты внутри фазовой сетки.
Как изменить размер шрифта заголовков фасетов при построении тепловых карт внутри сеток фасетов?
Код ниже пробует два метода, передавая fontsize=
в set_titles()
и оборачивая все это в контекст черчения. Насколько я могу судить, ни один из них не оказывает никакого влияния на заголовки фасетов при использовании heatmap, хотя вес шрифта изменился. Существуют ли другие варианты для управления заголовком фасета при использовании heatmap?
import pandas as pd
import numpy as np
import itertools
import seaborn as sns
print("seaborn version {}".format(sns.__version__))
# R expand.grid() function in Python
# https://stackru.com/a/12131385/1135316
def expandgrid(*itrs):
product = list(itertools.product(*itrs))
return {'Var{}'.format(i+1):[x[i] for x in product] for i in range(len(itrs))}
methods=['method 1', 'method2', 'method 3', 'method 4']
times = range(0,100,10)
data = pd.DataFrame(expandgrid(methods, times, times))
data.columns = ['method', 'dtsi','rtsi']
data['nw_score'] = np.random.sample(data.shape[0])
def facet(data,color):
data = data.pivot(index="dtsi", columns='rtsi', values='nw_score')
g = sns.heatmap(data, cmap='Blues', cbar=False)
with sns.plotting_context(font_scale=5.5):
g = sns.FacetGrid(data, col="method", col_wrap=2, size=3, aspect=1)
g = g.map_dataframe(facet)
g.set_titles(col_template="{col_name}", fontweight='bold', fontsize=18)
1 ответ
Спасибо @mwaskon, это ответ - используйте size=
когда звонили set_titles
,
Это приводит к большему количеству вопросов, таких как
- Можете ли вы изменить
set_titles
используемыйfontweight=
а такжеfontsize=
вместоfontweight=
а такжеsize=
?size=
используется в другом месте для высоты фасета в дюймах. - почему
sns.plotting_context
совершенно неэффективен в этом контексте?