我有一个数据序列,如下所示:
times[]
values[]
值系列中的数据是累积数据,因此位置n处的值等于(n-1)+自上次以来的变化。
我想绘制值之间的差异。例如
t[n] vs (v[n]-v[n-1])
显然,对于我来说,可以通过在绘制之前对值进行迭代来预先计算数据。但是,我不是来自数学背景,并且强烈怀疑这是一个非常常见的操作,并且有一些我无法找到的标准函数可以执行此操作。
我已经查看了标准的matplotlib和pyplot文档,以及通过Google找到的许多教程,但没有看到类似的东西。
有一个函数numpy
可以做到这一点,它叫做diff
:
In [1]: import numpy as np
In [2]: np.diff(range(10))
Out[2]: array([1, 1, 1, 1, 1, 1, 1, 1, 1])
所以你可以做类似的事情
plt.plot(times, np.diff(values))
另请注意,的结果diff
比原始列表/数组短一个项目。因此,您需要values
比更长的1 times
,或者times
通过使用times[1:]
或times[:-1]
在plot
调用中丢弃的第一个/最后一个值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句