我有以下情节:

Plot

然而,行和列的标签只是连接和重叠. 我可以调整这些标签吗? 理想情况下,应使用 break line 代替管道.

以下是创建具有相同问题的类似情节的示例代码:

import numpy as np
import pandas as pd
import seaborn as sns


df1 = pd.DataFrame(
    np.zeros((6,6)),
    columns=['Epoch', 'Correlation', 'PreprocessingStyle', 'Model', 'Dataset', 'Type'],
)
df1['Model'] = 'a' * 26
df1['PreprocessingStyle'] = 'b' * 26

df2 = pd.DataFrame(
    np.zeros((6,6)),
    columns=['Epoch', 'Correlation', 'PreprocessingStyle', 'Model', 'Dataset', 'Type'],
)
df2['Model'] = 'c' * 26
df2['PreprocessingStyle'] = 'd' * 26


df = pd.concat([df1, df2])

g = sns.relplot(
    df,
    x='Epoch',
    y='Correlation',
    col='PreprocessingStyle',
    row='Model',
    hue='Dataset',
    style='Type',
    kind='line',
    markers=True,
    dashes=False,
)

推荐答案

假设您想要在列和行描述之间添加一行,则可以使用set_titles自定义标题.

例如,使用tips数据集:

import seaborn as sns

tips = sns.load_dataset('tips').rename(columns={'time': 'quite long column name'})

(sns.relplot(data=tips, x="total_bill", y="tip", hue="day",
             col="quite long column name", row="sex",
             height=3, aspect=1, facet_kws={'gridspec_kws': {'hspace': 0.3}})
    .set_titles('{row_var}: {row_name}\n{col_var}: {col_name}')
)

enter image description here

Python相关问答推荐

剧作家Python没有得到回应

分组数据并删除重复数据

如何根据另一列值用字典中的值替换列值

根据在同一数据框中的查找向数据框添加值

优化pytorch函数以消除for循环

用合并列替换现有列并重命名

数据抓取失败:寻求帮助

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

如何在表中添加重复的列?

如何在PySide/Qt QColumbnView中删除列

未调用自定义JSON编码器

下三角形掩码与seaborn clustermap bug

Polars Group by描述扩展

BeautifulSoup:超过24个字符(从a到z)的迭代失败:降低了首次深入了解数据集的复杂性:

Pythonquests.get(Url)返回Colab中的空内容

上传文件并使用Panda打开时的Flask 问题

遍历列表列表,然后创建数据帧

与同步和异步客户端兼容的Python函数

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?