使用条件与matplotlib绘图



我有一个二维数组,我需要绘制列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 < x < 4410,但我不知道索引。我可以写:plot(x, y, where(4402 < x < 4410))吗?

我觉得这里有一些明显的东西我遗漏了:p

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

a = array([[ .... ]])
x = a[:,0]
y = a[:,1]
filter = (x>4402)&(x<4410)
plot(x[filter],y[filter])

相关内容

  • 没有找到相关文章

最新更新