Matplotlib时间序列从numpy矩阵绘制

时间:2014-05-28 13:58:59

标签: python numpy matplotlib time-series

我如何能够从一个看起来像这样的numpy矩阵中绘制一个时间序列图:

data = [[   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   18.   28.   38.   48.   57.   66.   75.   85.   95.]
 [  95.   85.   76.   66.   57.   47.   38.   28.   18.    9.]
 [   9.   19.   28.   38.   48.   48.   38.   28.   19.    9.]
 [  48.   48.   45.   45.   47.   49.   47.   47.   45.   47.]
 [   9.   19.   28.   38.   48.   58.   67.   77.   87.   96.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  97.   87.   77.   67.   58.   48.   39.   29.   19.    9.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   9.   19.   29.   38.   48.   57.   67.   77.   87.   97.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  96.   87.   77.   68.   58.   48.   39.   29.   19.    9.]
 [   9.   19.   29.   39.   48.   58.   67.   77.   87.   97.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   18.   28.   37.   47.   47.   37.   28.   18.    9.]
 [  46.   46.   46.   46.   46.   46.   46.   46.   46.   46.]
 [   9.   18.   28.   37.   47.   56.   65.   77.   87.   96.]
 [ 482.  482.  482.  482.  482.  482.  482.  482.  482.  483.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   18.   28.   38.   47.   57.   67.   76.   86.   96.]
 [  97.   87.   77.   68.   58.   48.   39.   29.   19.    9.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  96.   87.   77.   68.   58.   48.   38.   28.   19.    9.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   29.   38.   48.   58.   68.   77.   87.   97.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [   9.   19.   28.   38.   48.   57.   67.   77.   86.   96.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   29.   39.   48.   58.   68.   78.   88.   97.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   48.]
 [   9.   18.   28.   38.   47.   47.   38.   28.   18.    9.]
 [  47.   47.   47.   47.   47.   47.   48.   48.   48.   48.]
 [   9.   19.   28.   38.   47.   57.   67.   77.   86.   96.]
 [  96.   86.   77.   67.   57.   47.   38.   28.   19.    9.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   7.    8.    6.    7.    6.    7.    9.    7.    8.    7.]
 [   9.   18.   28.   37.   47.   56.   66.   75.   85.   95.]
 [ 480.  480.  480.  480.  480.  480.  480.  480.  480.  483.]
 [  96.   87.   77.   67.   58.   48.   38.   28.   19.    9.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   28.   38.   48.   57.   67.   77.   86.   96.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [   9.   19.   28.   38.   48.   48.   38.   28.   19.    9.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [   9.   19.   28.   38.   48.   57.   67.   77.   86.   96.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   29.   38.   48.   58.   67.   77.   87.   97.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [ 481.  481.  483.  483.  483.  483.  483.  483.  483.  483.]
 [   9.   19.   28.   38.   48.   57.   67.   77.   86.   96.]
 [  96.   87.   77.   67.   58.   47.   37.   28.   18.    9.]
 [   9.   18.   28.   37.   47.   47.   37.   28.   18.    9.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   9.   18.   28.   37.   47.   56.   66.   75.   85.   94.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  96.   86.   77.   67.   57.   48.   38.   28.   19.    9.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   18.   28.   37.   47.   56.   66.   75.   84.   94.]
 [  47.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   49.]
 [  95.   86.   76.   67.   57.   48.   38.   29.   19.    9.]
 [   9.   19.   29.   38.   48.   57.   67.   76.   86.   94.]
 [ 480.  480.  480.  480.  480.  480.  480.  480.  480.  480.]
 [   9.   18.   28.   38.   47.   47.   38.   28.   19.    9.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   28.   38.   48.   58.   67.   75.   85.   94.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [   9.   19.   28.   38.   47.   57.   66.   76.   86.   95.]
 [  96.   86.   76.   67.   57.   48.   38.   28.   19.    9.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   48.   48.]
 [   9.   19.   28.   38.   47.   57.   66.   75.   85.   94.]
 [  47.   47.   47.   47.   47.   47.   47.   47.   47.   47.]
 [  96.   86.   76.   67.   57.   48.   38.   29.   19.    9.]
 [ 480.  481.  481.  481.  481.  481.  481.  481.  481.  481.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [  48.   48.   48.   48.   48.   48.   48.   46.   46.   46.]
 [  46.   46.   46.   46.   46.   46.   46.   46.   46.   46.]
 [  90.   80.   71.   63.   54.   44.   35.   26.   17.    8.]
 [   9.   19.   28.   38.   47.   57.   67.   77.   86.   96.]
 [   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.]
 [ 481.  481.  481.  481.  481.  481.  481.  481.  481.  483.]
 [  48.   48.   48.   48.   48.   48.   48.   48.   48.   48.]
 [   9.   19.   28.   38.   47.   57.   66.   76.   86.   95.]]

x轴的时间范围为1-10

y轴范围为1-450

总共有100条线在图表中绘制

And will look similar to this:

2 个答案:

答案 0 :(得分:1)

以下是一个与您的数据类似的数据子集的示例。

import matplotlib.pyplot as plt
import numpy as np

data = [[   3.,    3.,    3.,    3.,    3.,    3.,    3.,    3.,    3.,    3.],
 [  49.,   48.,   48.,   48.,   48. ,  48.,   48.,   48.,   48.,   48.],
 [   9.,   18.,   28.,   38.,   48.,   57.,   66.,   75.,   85.,   95.],
 ]

data = np.array(data) 

plt.plot(np.arange(1, 11), data.transpose())
plt.show()

enter image description here

答案 1 :(得分:0)

import matplotlib.pyplot as plt
for x in data:
    plt.plot(x)