【问题标题】:Pandas Plot Multiple Lines Based on Per Column TrendPandas 根据每列趋势绘制多条线
【发布时间】:2021-08-28 18:20:20
【问题描述】:

所以我有以下数据,所以基本上tree 之后的每一列都是其值的值的级数(例如 Tree_0、Tree_1 等)

tree,ave_1-2021-06-12,ave_2-2021-06-12,ave_3-2021-06-12
Tree_0,290.7,248.7,247.8
Tree_1,261.1,258.7,221.5
Tree_2,220.0,251.9,233.5
Tree_3,246.3,242.1,275.4
Tree_4,248.3,254.1,243.8
Tree_5,251.4,251.1,261.4

我希望能够制作一个显示所有 Tree_* 值并根据其下一列上的 ave_* 值显示其趋势的图,我如何使用 matplotlib 和 pandas 做到这一点?

例如:

Tree_01, linechart starts at 290 goes lower 248 then gows one point lower 247

Tree_02 starts at 261 goes down at 258, goes much lower 221.

我想将它们全部显示在一张图表中。像这样:linechart Tree's 将是下面的图例,日期将是 ave_* 列。但我不知道如何用 pandas 和 matplotlib 做到这一点

【问题讨论】:

    标签: pandas matplotlib data-visualization


    【解决方案1】:

    您可以先将 Tree 列放在一边作为索引,然后将 Transpose 放在图例中,将 ave_* 放在 x 轴上:

    df.set_index("tree").T.plot()
    

    得到

    【讨论】:

      【解决方案2】:

      试试

      df.plot(x='tree', y='ave_1-2021-06-12', kind='line')
      

      对所有列执行此操作,您应该能够看到所有列的折线图。

      【讨论】:

      • 这不起作用,这会让所有 Tree_* 在一个方向上prnt.sc/153helc 如果可能的话,我希望树在一边,然后是下面的 ave_ 值。像这样:prnt.sc/153hi01
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      相关资源
      最近更新 更多