gpt4 book ai didi

python - 使用 matplotlib 在线图/时间序列上的多条线

转载 作者:行者123 更新时间:2023-12-03 20:17:42 24 4
gpt4 key购买 nike

如何在 python 上的 matplotlib 或 plot.ly 上绘制由分类变量表示的多个轨迹?我正在尝试从 R 复制 geom_line(aes(x=Date,y=Value,color=Group) 函数。

有没有办法在 Python 上实现这一点,而无需将组放在单独的列中?我是否必须不可避免地重组数据?

假设我有以下数据:

Date    Group   Value
1/01/2015 A 50
2/01/2015 A 60
1/01/2015 B 100
2/01/2015 B 120
1/01/2015 C 40
2/01/2015 C 55
1/01/2015 D 36
2/01/2015 D 20

我想要 x 轴上的日期,y 轴上的值以及由不同颜色的线条/轨迹表示的组类别。

谢谢。

最佳答案

假设您的数据位于 Pandas 数据框中 df ,如果没有将组放在单独的列中,就很难绘制它,但这实际上是一个很容易在一行中完成的步骤,

df.pivot(index="Date", columns="Group", values="Value").plot()

完整示例:
u = u"""Date    Group   Value
1/01/2015 A 50
2/01/2015 A 60
1/01/2015 B 100
2/01/2015 B 120
1/01/2015 C 40
2/01/2015 C 55
1/01/2015 D 36
2/01/2015 D 20"""

import io
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(io.StringIO(u), delim_whitespace=True)
df["Date"] = pd.to_datetime(df["Date"])

df.pivot(index="Date", columns="Group", values="Value").plot()

plt.show()

enter image description here

关于python - 使用 matplotlib 在线图/时间序列上的多条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46870672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com