绘图时出现圆形错误

时间:2013-08-09 08:54:28

标签: python numpy matplotlib scipy

我有以下数据数组:

In [53]: data
Out[53]: array([  9.95000000e-05,   9.95000000e-05,   9.95000000e-05,
         ...
         ...
         9.95000000e-05])

当我做一个情节时,我得到:

enter image description here

我希望情节是一条直线,在y轴上有一些有意义的东西。这种行为的原因是什么?

1 个答案:

答案 0 :(得分:3)

问题在于,9.95000000e-05实际上是9.9500000000000006e-059.9499999999999979e-05,或者为了清晰起见,iPython会将一些相同的数字用于。{/ p> 然而,Matplotlib确认其完整精度的数字,因此具有意外行为。

解决方法或者这是将数字四舍五入为iPython中表示的值。

In [53]: round(data,7)
Out[53]: array([  9.95000000e-05,   9.95000000e-05,   9.95000000e-05,
         ... 
         ...
         ])

这提供了一个很好的情节:

In [54]: plot(round(data,7))

enter image description here