如何更改 seaborn pairplot 中仅 x 或 y 标签的字体大小?

Posted

技术标签:

【中文标题】如何更改 seaborn pairplot 中仅 x 或 y 标签的字体大小?【英文标题】:How to change fontsize of only x or y labels in seaborn pairplot? 【发布时间】:2021-12-09 06:04:59 【问题描述】:

我使用示例代码来制作 seaborn 的配对图:

import seaborn as sns
penguins = sns.load_dataset("penguins")
sns.pairplot(penguins, corner=True)

我只想更改 x 和 y 标签的字体大小(不是 xticks / yticks)。我知道sns.set(font_scale=k),但它会影响所有文本(x-y 标签、x-y 刻度)。但是,我只想更改 x-y 标签的字体大小。

如果你有任何想法。请告诉我。

【问题讨论】:

【参考方案1】:

您可以使用seaborn.plotting_context,如下所示:

(作为您在评论中的问题如果您在此之后像下面这样写,修改后的值将重置并恢复为默认值)

import seaborn as sns

penguins = sns.load_dataset("penguins")
with sns.plotting_context(rc="axes.labelsize":20):
    sns.pairplot(penguins, corner=True)

seaborn.plotting_context

参数:

rcdict,可选 用于覆盖预设 seaborn 上下文字典中的值的参数映射。这只会更新被视为上下文定义一部分的参数。

使用rc dict,您可以更改以下每个样式

'axes.linewidth': 1.875,
 'grid.linewidth': 1.5,
 'lines.linewidth': 2.25,
 'lines.markersize': 9.0,
 'patch.linewidth': 1.5,
 'xtick.major.width': 1.875,
 'ytick.major.width': 1.875,
 'xtick.minor.width': 1.5,
 'ytick.minor.width': 1.5,
 'xtick.major.size': 9.0,
 'ytick.major.size': 9.0,
 'xtick.minor.size': 6.0,
 'ytick.minor.size': 6.0,
 'font.size': 18.0,
 'axes.labelsize': 18.0,
 'axes.titlesize': 18.0,
 'xtick.labelsize': 16.5,
 'ytick.labelsize': 16.5,
 'legend.fontsize': 16.5,
 'legend.title_fontsize': 18.0

输出:

【讨论】:

谢谢。如何将其重置为默认值?所以,它不会影响其他情节。 @Mohammad 编辑答案 再次感谢。最后一个问题:如您所见,在第一行中,没有显示 y_label (bill_length_mm)。你可能知道如何展示它吗? @Mohammad 欢迎,这是默认设置,因为您使用 corner = True 并且在第一行中您有一个元素并且您不需要,因为它们都 bill_length_mm 和其他行有多个元素,你需要标签 x-axisy-axis

以上是关于如何更改 seaborn pairplot 中仅 x 或 y 标签的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

Seaborn pairplot 图例 - 如何控制位置

隐藏seaborn pairplot的传说

机器学习——可视化绘图matplotlib和seaborn

斯科特是谁? - Seaborn pairplot 中的 ValueError:无法将字符串转换为浮点数:'scott'

Python使用matplotlib可视化分组多变量两两关系图使用seaborn中的pairplot函数可视化分组多变量两两关系图对角线为分组密度图其它图像为分组两两散点图

Seaborn