matplotlib绘图数据与nans

时间:2013-01-23 10:19:33

标签: numpy matplotlib

我很惊讶与这个问题有关的帖子很少。无论如何... 这里是: 我的csv数据文件在第一列中包含X值,之后有几个Y值列。但是对于给定的X值,并非所有Y系列都具有相应的值。这是一个例子:

0, 16, 96, 99
10, 88, 45, 85
20, 85, 61, 10
30, 30, --, 45
40, 82, 28, 82
50, 23, 9, 61
60, 40, 77, 0
70, 26, 21, --
80, --, 58, 99
90, 1, 14, 30

当这个csv数据加载了numpy.genfromtxt时,' - '字符串被视为nan,这很好。但是在绘图时,情节会被空白打断,其中有一个纳米。当nan似乎使pyplot.plot()忽略nan和相应的X值时,是否有选项?

2 个答案:

答案 0 :(得分:3)

不确定matplotlib是否内置了这样的功能,但是你可以在家中冲泡它:

idx = ~numpy.isnan(Y)
pyplot.plot(X[idx], Y[idx])

答案 1 :(得分:2)

查看this post

正如我在那里的回答中提出的,我建议使用np.isfinite代替np.isnan。您的情节可能还有其他原因导致不连续,例如inf