如何在python中仅选择和绘制特定数组?

如何在python中仅选择和绘制特定数组?,python,numpy,matplotlib,Python,Numpy,Matplotlib,下面是我正在使用的一些代码的示例: import numpy as np import numpy.linalg as linalg A = np.random.random((10,10)) eigenValues,eigenVectors = linalg.eig(A) idx = eigenValues.argsort() eigenValues = eigenValues[idx] eigenVectors = eigenVectors[:,idx] 我要做的是,在一组五个以

下面是我正在使用的一些代码的示例:

import numpy as np
import numpy.linalg as linalg

A = np.random.random((10,10))
eigenValues,eigenVectors = linalg.eig(A)

idx = eigenValues.argsort()   
eigenValues = eigenValues[idx]
eigenVectors = eigenVectors[:,idx]

我要做的是,在一组五个以上的特征向量中,只画出五个最小的特征向量,然后再画出来。那么,如何选择前五个特征向量,然后在matplotlib中绘制它们呢

下面将选择前五个特征向量(假设您已经完成了示例中的排序):


至于如何最好地绘制一个十维向量,我不确定。

对于未来的读者,这里有一个代码示例,它正好做到了这一点:

from pylab import *
N = 10
k = 5
L = 1

x = linspace(-L, L, N)
H = random((N,N))
ls, vs = eig(H)

#find and plot k lowest eigenvalues and eigenvectors
min_values_indices = argsort(ls)[0:k]
for i in min_values_indices:
    plot(x, vs[:,i])

show()
顺便说一句,我会把这个问题的主题改成更具信息性的话题(比如“numpy-找到最低k特征值和特征向量”)

from pylab import *
N = 10
k = 5
L = 1

x = linspace(-L, L, N)
H = random((N,N))
ls, vs = eig(H)

#find and plot k lowest eigenvalues and eigenvectors
min_values_indices = argsort(ls)[0:k]
for i in min_values_indices:
    plot(x, vs[:,i])

show()