Plot timeseries of histograms in Python

后端 未结 1 949
悲哀的现实
悲哀的现实 2020-12-31 21:22

I\'m trying to plot a time-series of histograms in Python. There has been a similar question about this, but in R. So, basically, I need the same thing, but I\'m really bad

相关标签:
1条回答
  • 2020-12-31 21:47

    Make a histogram and use matplotlib's pcolor.

    We need to bin the groups uniformly, so we make bins manually based on the range of your sample data.

    In [26]: bins = np.linspace(0, 360, 10)
    

    Apply histogram to each group.

    In [27]: f = lambda x: Series(np.histogram(x, bins=bins)[0], index=bins[:-1])
    
    In [28]: df1 = daily.apply(f)
    
    In [29]: df1
    Out[29]: 
                0    40   80   120  160  200  240  280  320
    2008-07-25    0    0    0    3   18    0    0    0    0
    2008-07-26    2    0    0    0   17    6   13    1    8
    2008-07-27    4    3   10    0    0    0    0    0   31
    2008-07-28    0    7   15    0    0    0    0    6   20
    2008-07-29    0    0    0    0    0    0   20   26    0
    2008-07-30   10    1    0    0    0    0    1   25    9
    2008-07-31   30    4    1    0    0    0    0    0   12
    2008-08-01    0    0    0    0    0    0    0   14   14
    

    Following your linked example in R, the horizontal axis should be dates, and the vertical axis should be the range of bins. The histogram values are a "heat map."

    In [30]: pcolor(df1.T)
    Out[30]: <matplotlib.collections.PolyCollection at 0xbb60e2c>
    

    enter image description here

    It remains to label the axes. This answer should be of some help.

    0 讨论(0)
提交回复
热议问题