gpt4 book ai didi

python - 使用 seaborn facetgrid 热图更改 facet 标题的字体大小

转载 作者:行者123 更新时间:2023-11-28 21:14:17 34 4
gpt4 key购买 nike

注意:这是一个不同于“How can I change the font size using seaborn FacetGrid?”的问题。当在 facetgrid 中使用热图时,那里建议的方法不起作用。

在 facetgrid 中绘制热图时,如何更改 facet 标题的字体大小?

下面的代码尝试了两种方法,将 fontsize= 传递给 set_titles() 并将整个内容包装在绘图上下文中。据我所知,使用热图时,两者似乎都不会对分面标题产生任何影响,尽管字体粗细确实发生了变化。使用热图时是否还有其他选项可以控制分面标题?

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://stackoverflow.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)

enter image description here

最佳答案

感谢@mwaskon,这就是答案 - 在调用 set_titles 时使用 size=

这会引出更多的问题,比如

  • 能否更改 set_titles 使用 fontweight=fontsize= 而不是fontweight=size=? size= 在别处用于以英寸为单位的刻面高度。
  • 为什么 sns.plotting_context 在此完全无效上下文?

关于python - 使用 seaborn facetgrid 热图更改 facet 标题的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864770/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com