为了账号安全,请及时绑定邮箱和手机立即绑定

如何在seaborn python中组合两个relplots?

如何在seaborn python中组合两个relplots?

四季花海 2022-06-02 11:22:26
我想使用 sns.relplot 在单个图中绘制数据框的两个数据列。数据框如下所示:index   x-axis  col1    col2    group   group20   0   27  26  A   C1   1   45  27  B   D2   2   48  22  A   C3   3   35  24  B   D4   4   49  38  A   C5   5   46  29  B   D6   6   29  37  A   C7   7   38  41  B   D8   8   24  46  A   C9   9   46  38  B   D10  10  37  23  A   C在这里,我想将 col1 和 col2 与 x 轴数据一起绘制。'group' 是 'hue' 的值,'group2' 是 relplot 中的 'col' 的值。我可以使用两个单独的 relplots 分别绘制两列。col1 的图col2 的绘图我想将这两个图组合起来,以便有一个包含 col1 和 col2 的图。
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

您可以melt使用 DataFrame 并将结果变量用作style分组:


from io import StringIO

import numpy as np

import pandas as pd

import seaborn as sns


data = """index   x-axis  col1    col2    group   group2

0   0   27  26  A   C

1   1   45  27  B   D

2   2   48  22  A   C

3   3   35  24  B   D

4   4   49  38  A   C

5   5   46  29  B   D

6   6   29  37  A   C

7   7   38  41  B   D

8   8   24  46  A   C

9   9   46  38  B   D

10  10  37  23  A   C"""


df = pd.read_csv(StringIO(data), index_col=[0], sep=" ", skipinitialspace=True)


sns.relplot(

    data=df.melt(id_vars=["x-axis", "group", "group2"], value_vars=["col1", "col2"]),

    x="x-axis", y="value", style="variable", hue="group", col="group2", kind="line")

输出:

//img1.sycdn.imooc.com//62982d2900016f2a07890351.jpg

查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信