我有一个数据系列,如下所示:
times[]
values[]
值系列中的数据是累积的,因此位置n处的值等于(n-1)+自上一次以来的变化。
我想在情节之间区别价值观。 E.g。
t[n] vs (v[n]-v[n-1])
显然,我可以通过在绘图之前迭代值来预先计算数据。但是,我不是来自数学背景,并且强烈怀疑这是一个非常常见的操作,并且有一些标准函数可以做到这一点,但我找不到。
我已经回顾了标准的matplotlib和pyplot文档,以及通过谷歌找到的一些教程,但我没有看到类似的东西。
答案 0 :(得分:1)
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
的第一个/最后一个值调用。