【问题标题】:python plot multiple line time seriepython绘制多行时间序列
【发布时间】:2016-09-13 09:52:34
【问题描述】:

我正在尝试创建一个 matplotlib 图,其中 X 轴上的时间戳和横坐标 Y 上的分数,并表示时间中 id 分数的演变。

id  timestamp   score
1   1           100
1   2           115
1   3           120
2   2           12
2   2           20
2   3           15
2   4           30
3   1           14
3   2           100
5   2          20
6   3          20
7   4         100

比如id=1,应该在图中用一条线表示,表示它的分数在时间上的演变,

其他 id 的大小写相同。 (id的数量未知,我从大csv文件中获取的)。

我正在尝试几个情节但没有解决方案。

如何创建具有多个 ID 的绘图。

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    你可以这样做:

    import numpy as np
    import matplotlib.pylab as pl
    
    id        = np.array([1,1,1,2,2,2,2,3,3,5,6,7])
    timestamp = np.array([1,2,3,1,2,3,4,1,2,2,3,4])
    score     = np.array([100,115,120,12,20,15,30,14,100,20,20,100]) 
    
    pl.figure()
    for i in np.unique(id):     # Loop over all the unique id's
        pw = np.where(id == i)  # which elements belong to this id
        pl.plot(timestamp[pw], score[pw], '-x', label=str(i))
    pl.legend(frameon=False, loc='best')
    

    【讨论】:

    • 非常感谢,我会将您的算法应用于我的 csv 数据。谢谢
    猜你喜欢
    • 2018-09-20
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2016-05-07
    • 2017-09-28
    • 2019-01-05
    相关资源
    最近更新 更多