Numpy 使用条件使用matplotlib打印

Numpy 使用条件使用matplotlib打印,numpy,matplotlib,conditional,multidimensional-array,Numpy,Matplotlib,Conditional,Multidimensional Array,我有一个二维数组,我需要绘制x和y列,但只在x的某个范围内。 我知道如何使用索引进行绘图,但我需要指定x的值。我有一些这样的数组,所以我试图找到一种方法来做到这一点,而不必逐个查看它们 以下是一个例子: array([[ 4.40148390e+03, 1.13200000e+00], [ 4.40248390e+03, 1.12200000e+00], [ 4.40348440e+03, 1.11600000e+00], [ 4.4

我有一个二维数组,我需要绘制x和y列,但只在x的某个范围内。 我知道如何使用索引进行绘图,但我需要指定x的值。我有一些这样的数组,所以我试图找到一种方法来做到这一点,而不必逐个查看它们

以下是一个例子:

array([[  4.40148390e+03,   1.13200000e+00],
       [  4.40248390e+03,   1.12200000e+00],
       [  4.40348440e+03,   1.11600000e+00],
       [  4.40448440e+03,   1.10600000e+00],
       [  4.40548490e+03,   1.09200000e+00],
       [  4.40648490e+03,   1.07700000e+00],
       [  4.40748540e+03,   1.08700000e+00],
       [  4.40848540e+03,   1.09400000e+00],
       [  4.40948580e+03,   1.10200000e+00],
       [  4.41048580e+03,   1.09500000e+00],
       [  4.41148630e+03,   1.12000000e+00]])
假设我只需要
4402
,但我不知道索引。我可以把这样的东西放进去:
plot(x,y,where(4402


我觉得这里有一点我明显遗漏了:p

您可以使用matplotlib设置x轴的限制,以便不显示数据系列中的所有点。但是,我们可以按如下方式过滤上面的numpy数组:

a = array([[ .... ]])
x = a[:,0]
y = a[:,1]

filter = (x>4402)&(x<4410)

plot(x[filter],y[filter])
a=array([..]]
x=a[:,0]
y=a[:,1]

filter=(x>4402)和(x
a[(a[:,0]>4402)和(a[:,0]@mtadd能否请您将其作为答案发布(并可能添加一些文本解释)如果此答案被接受,此问题应标记为numpy。