python - 如何在 matplotlib 中绘制数据和函数之间的差异

标签 python matplotlib

我在名为 value.txt 的文件中有一个 x,y 值的数据集,如下所示:

1  32432.4323
2  23432.1143
.
.
.
999 1111.23432

我还有一个函数 f(x), 2*x^2+1

我想绘制函数和 y 值之间的差异曲线。像这样的事情:

1  32432.4323 - f(1)
2  23432.1143 - f(2)
.
.
.
999 1111.23432 - f(999)

我可以通过计算差异并将其放入单独的文件values_diff.txt并将其加载到matplotlib中来做到这一点,但我想知道在matplotlib中是否有更惯用的方法来做到这一点,不需要显式使用第二个文件,

最佳答案

我并不反对编写代码。:)

为 x 值创建一个向量,为 y 值创建一个向量,然后为 y 值与函数值之间的差值创建一个向量。在此代码中,我为缺失的 y 值提供了虚拟值。然后简单地首先根据 x 值绘制 y 值,然后根据 x 值绘制差值。

import matplotlib.pyplot as plt

f = lambda x: 2*x**2 +1

x = list(range(1,1000))
y = [32432.4323, 23432.1143] +[23432.1132-10*k for k in range(1,997)]+ [1111.23432]

diffs=[]
for an_x, a_y in zip(x,y):
    diffs.append(a_y-f(an_x))

plt.plot(x, y, 'r-')
plt.plot(x, diffs, 'b-')

plt.show()

关于python - 如何在 matplotlib 中绘制数据和函数之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496014/

相关文章:

javascript - 在 flask 中处理 javascript 输出后重新加载页面

python - 无法写入数据库 psql - INSERT INTO 语法

python - matplotlib.mlab.griddata 非常慢并且在输入有效数据时返回 nan 数组

python - matplotlib 中的 LaTeX 标签不一致

python - 如何在Python条形图中添加x轴刻度标签

python - python 中的线程模块真的是并行的还是我们需要使用多重处理?

python - 多 GPU tensorflow 代码中的批量归一化参数更新?

python - scikit 学习在一定数量的数据上崩溃

python - 找出 matplotlib 使用的字体

python - 删除 Matplotlib 中数据点周围的填充