如何更改 FacetGrid 中的边距标题颜色

a11*_*a11 3 python matplotlib seaborn facet-grid

使用 Seaborn Facet Grids,如何仅更改边距标题的颜色?请注意,这g.set_titles(color = 'red')会更改两个标题。

p = sns.load_dataset('penguins')
sns.displot(data=p, x='flipper_length_mm', 
            col='species', row='sex', 
            facet_kws=dict(margin_titles=True)
           )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Ale*_*lex 5

该类sns.FacetGrid有一个私有属性,它是一个包含生成边距标题的对象_margin_titles_texts的列表。matplotlib.text.Annotation我们可以迭代这些并调用set_color每个方法来更改文本颜色。

import seaborn as sns

p = sns.load_dataset("penguins")
grid = sns.displot(
    data=p,
    x="flipper_length_mm",
    col="species",
    row="sex",
    facet_kws=dict(margin_titles=True),
)
for margin_title in grid._margin_titles_texts:
    margin_title.set_color("red")
Run Code Online (Sandbox Code Playgroud)

sns.displot 带有红边标题的企鹅数据