【问题标题】:How do I plot a Seaborn FacetGrid with the result of the `groupby`?如何使用“groupby”的结果绘制 Seaborn FacetGrid?
【发布时间】:2020-11-18 04:49:02
【问题描述】:

我有以下pandasDataframe

             A  B              C
0   2017-01-01  1   4.199197e+06
1   2017-01-01  2   8.708300e+06
2   2017-01-01  3   5.401463e+06

groupby 操作的结果:

tot_reg = (sales.groupby(['A', 'B'])[['C']]
           .sum()
           .reset_index())

我想要一个 Seaborn sns.Facetgrid 在 x 轴上绘制 A,在 y 轴上绘制 C,对于每个 B,我都有:

sns.FacetGrid(tot_reg, col='B', col_wrap=4)

但尽管它确实计算了唯一的B 并绘制了正确数量的子图,但这些图是空的。

如何使用groupby 的结果绘制 Seaborn FacetGrid?

【问题讨论】:

    标签: python pandas seaborn


    【解决方案1】:

    您需要将绘图命令映射到 facetgrid:

    fg = sns.FacetGrid(df, col='B', col_wrap=4)
    fg.map(sns.scatterplot, 'A','C')
    

    输出:

    【讨论】:

    • 谢谢。没错……但是为什么呢?你能详细说明一下逻辑吗?
    • 逻辑是您使用FacetGrid 设置子图,然后使用绘图命令告诉您要绘制的内容(散点、线、框等)。我认为这是非常简单和合理的。
    猜你喜欢
    • 2016-11-09
    • 2018-12-09
    • 2014-10-31
    • 2015-06-17
    • 2018-11-28
    • 1970-01-01
    • 2021-01-08
    • 2017-01-20
    • 2020-09-26
    相关资源
    最近更新 更多