我有以下数据数组:
In [53]: data
Out[53]: array([ 9.95000000e-05, 9.95000000e-05, 9.95000000e-05,
...
...
9.95000000e-05])
当我绘制它的情节时,我得到:
我希望该图是一条直线,在 y 轴上有一些有意义的东西。这种行为的原因是什么?
我有以下数据数组:
In [53]: data
Out[53]: array([ 9.95000000e-05, 9.95000000e-05, 9.95000000e-05,
...
...
9.95000000e-05])
当我绘制它的情节时,我得到:
我希望该图是一条直线,在 y 轴上有一些有意义的东西。这种行为的原因是什么?
问题在于,为了清楚起见,iPython9.95000000e-05
实际上9.9500000000000006e-05
或或某个类似的数字。9.9499999999999979e-05
然而,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))