【问题标题】:Make multiple plots at once一次绘制多个图
【发布时间】:2019-12-22 19:38:04
【问题描述】:

我有一个看起来像这样的 df:

         date        group         score    origin    ...
0        1           group1            1    0         ...
1        1           group2            2    1         ...
2        2           group2            5    2         ...
3        2           group1            2    3         ...
4        1           group1            1    3         ...
5        1           group2            2    2         ...
6        2           group2            5    1         ...
7        2           group1            2    0         ...

我需要制作多个单独的线图。 origin 的每个唯一值对应一个,date 在 x 轴上,score 在 y 轴上。

目前我的代码如下所示:

sns.lineplot(x='date', y='score', hue='group', style_order=order, data=df)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

我希望能够有 1 个语句为每个唯一的原点值生成单独的图,而不是多次运行。我尝试了groupbysubplot 的几种变体,但没有任何效果。

【问题讨论】:

    标签: python python-3.x pandas matplotlib seaborn


    【解决方案1】:

    尝试使用seaborn.FacetGrid 对这些类型的绘图进行简单控制:

    g = sns.FacetGrid(df, row='origin', hue='group')
    g.map(sns.lineplot, 'date', 'score')
    

    [出]

    【讨论】:

    • 如何添加hue 参数。当我尝试 g = sns.FacetGrid(GroupObservation_merged, col="origin", col_wrap=5, height=4.5) g = g.map(plt.plot, "date", "score", hue="Group", marker=".") 时出现错误
    • 我已经更新了示例,将 hue 参数传递给 FacetGrid 构造函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2020-06-19
    • 2019-01-22
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多