1
我對矩陣進行n次運算,導致輸出n個2x1矩陣。我將它們追加到一個列表中,並想用x,y座標繪製爲點。我發現我需要將它們轉換爲numpy.array,所以我完成了nx2 ndarray並且想要繪製[:0]
和[:1]
。當我打印結果時,當我嘗試繪製空白圖並完全沒有點時,所有內容似乎都是正確的。我注意到ndarrays被空格分隔而不是逗號,但不知道如何解釋它。我的代碼看起來像:plotting numpy.ndarray
import numpy as np
import pylab as pl
class GetMat(object):
def __init__(self):
self.Posp = np.matrix([[1,1],[1,1]])
self.Velp = np.matrix([[1],[1]])
def __call__(self):
self.Posp = self.Posp*np.random.random()
self.Velp = self.Velp*np.random.random()
return self.Posp,self.Velp
def __repr__(self):
return "Posp = \n%s \nVelp = \n%s" % (self.Posp,self.Velp)
class Data(object):
def __init__(self):
self.x = 0
def __call__(self,P,V):
self.x = P*V
return self.x[0,0], self.x[1,0]
def __repr__(self):
return "x = %s" % self.x
def Test():
Nsamples = np.arange(0,10,1)
newMat = GetMat()
dataToPlot = Data()
Xsaved = []
for i in range(len(Nsamples)):
z1,z2 = newMat()
position, velocity = dataToPlot(z1,z2)
Xsaved.append([position, velocity])
print 'Xsaved = %s' % Xsaved
print 'tyep Xsaved %s' % type(Xsaved)
XsavedArr = np.array(Xsaved)
print 'XsavedArr %s' % XsavedArr
print 'tyep XsavedArr %s' % type(XsavedArr)
print 'XsavedArr[:,0] = %s' % XsavedArr[:,0]
print 'XsavedArr[:,1] = %s' % XsavedArr[:,1]
pl.plot(np.array(XsavedArr[:,0]),np.array(XsavedArr[:,1]), linestyle='x-',label = 'Xsaved')
pl.show()
if __name__ == '__main__':
Test()
我希望隨機數的正常情節不是空白。我找不到如何繪製有ndarrays在NX2矩陣的形式