Seaborn:累积总和和色调

DOR*_*pst 3 python visualization python-3.x pandas seaborn

我在 pandas 中有以下数据框:

data = {
    'idx': [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10],
    'hue_val': ["A","A","A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C","C","C",],
    'value': np.random.rand(30),
}

df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

现在我想通过每个“hue_val”的“idx”来绘制一个线图,其中包含该值的累积和。因此,最终将形成三条严格向上的曲线(因为它们是正数),一条代表“A”、“B”和“C”。

我在多个来源中找到了这段代码:

sns.lineplot(x="idx", y="value", hue="hue_val", data=df, estimator="cumsum")
Run Code Online (Sandbox Code Playgroud)

这并不能解决问题,因为曲线和 x 轴都是假的: 在此输入图像描述

pie*_*ons 5

您可以单独计算 cumsum 并绘制结果:

df['cumsum'] = df.groupby('hue_val').value.transform('cumsum')
sns.lineplot(x="idx", y="cumsum", hue="hue_val", data=df)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述