嗨我需要绘制矩阵的内容,其中每行代表不同的特征,每列是不同的时间点.换句话说,我希望随着时间的推移看到功能的变化,并且我已经以矩阵的形式堆叠了每个特征.C是矩阵
A=C.tolist() #convert matrix to list.
R=[]
for i in xrange(len(A[0])):
R+=[[i]*len(A[i])]
for j in xrange(len(A[0])):
S=[]
S=C[0:len(C)][j]
pylab.plot(R[j],S,'r*')
pylab.show()
Run Code Online (Sandbox Code Playgroud)
这是对的/有更有效的方法吗?谢谢!
来自文档:
Run Code Online (Sandbox Code Playgroud)matplotlib.pyplot.plot(*args, **kwargs):[...]
Run Code Online (Sandbox Code Playgroud)plot(y) # plot y using x as index array 0..N-1 plot(y, 'r+') # ditto, but with red plusses如果x和/或y是2维的,则将绘制相应的列.
因此,如果A列中包含值,则只需:
pylab.plot(A, 'r*') # making all red might be confusing, '*-' might be better
Run Code Online (Sandbox Code Playgroud)
如果您的数据是行,则绘制它的转置:
pylab.plot(A.T, 'r*')
Run Code Online (Sandbox Code Playgroud)
您可以使用提取矩阵M的第i M[:,i]列,并且M中的列数由给出M.shape[1]。
import matplotlib.pyplot as plt
T = range(M.shape[0])
for i in range(M.shape[1]):
plt.plot(T, M[:,i])
plt.show()
Run Code Online (Sandbox Code Playgroud)
假定行表示等间隔的时间片。
| 归档时间: |
|
| 查看次数: |
15185 次 |
| 最近记录: |