如何防止matplotlib掉点?

时间:2013-12-11 16:47:34

标签: python matplotlib

我正在使用matplotlib绘制一个相当密集的数据集(最多60000个值),通常它的效果非常好。但是,如果数据集包含一些异常值,则有时会丢弃这些异常值:

[... 0, 0, 1, 0, 0, 0, 1, 172, 962, 270, 93, 39, 24, 19, 18, 12, 28, 17, 18, 11,
 7, 7, 8, 6, 4, 3, 9, 5, 4, 3, 3, 3, 4, 3, 3, 2, 6, 3, 3, 3, 2, 1, 3, 2, 2, 1, 4,
 3, 0, 2, 1, 1, 1, 1, 2, 5, 2, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 3, 0, 0, 1,
 0, 1, 0, 1, 1, 3, ...] 

将导致平面图形,而不是显示高达近1000的尖峰。显然这是非常不合需要的。如果我切换到点而不是线条,绘图工作正常,但这不够精确,并且难以直观地解析。

我的代码很简单:

fig = pyplot.figure(figsize=(16, 8))
ax = fig.add_subplot(111)
ax.plot(ts, my_points) 

png_file_in_memory = cStringIO.StringIO()
backend_agg.FigureCanvasAgg(fig).print_figure(png_file_in_memory)
return png_file_in_memory

为什么会发生这种情况以及如何预防?

0 个答案:

没有答案