【问题标题】:Seaborn line plot: don't aggregate and plot all observationsSeaborn 线图:不要汇总和绘制所有观察结果
【发布时间】:2020-03-27 17:22:14
【问题描述】:

我的原始数据如下:

>df
   Jan   Feb    ...  Dec
0   2     4           4
1   5     3           3

其中每一行是太阳能电池板的月产量。 我想绘制每一行,这样我就可以直观地检查某些面板是否有意外行为。所以我转换为 long 并使用 seaborn 绘制它:

df = pd.melt(df)
ax = sns.lineplot(x = variable, y = value, data  = df)

但这只是给出每个月的平均值。

【问题讨论】:

    标签: python pandas seaborn


    【解决方案1】:

    IIUC,你可以这样做:

    df.T.plot()
    

    和输出:

    如果你坚持使用seaborn,你需要通过hue,类似

    sns.lineplot(data=df.stack().reset_index(name='val'),
                 x='level_1',
                 y='val',
                 hue='level_0')
    

    其中level_0level_1 来自未命名源索引的.reset_index

    您需要做更多工作才能正确排序x-axis

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2016-04-11
      相关资源
      最近更新 更多