【发布时间】:2018-07-11 21:34:52
【问题描述】:
我有一个温度随时间变化的二维数组。大约有 7500 个 x 值和尽可能多的相应 y 值(因此每个 x 一个 y)。
看起来像这样:
中间的蓝线是我尝试绘制绘图线失败的结果,它代表了我的数据的平均值。代码:
import numpy as np
import matplotlib.pyplot as plt
data=np.genfromtxt("data.csv")
temp_av=[np.mean(data[1])]*len(data[0])
plt.figure()
plt.subplot(111)
plt.scatter(data[0],data[1])
plt.plot(data[0],temp_av)
plt.show()
但是我需要的是一条曲线,它会随着温度的升高而变化。基本上是一条位于数据点中间某处的线。
我在谷歌上搜索了一些解决方案,但我发现的只是在一个 x 有多个 y 值的情况下如何计算平均值的建议。我知道该怎么做,但在这种情况下没有帮助。
我的下一个想法是使用循环来计算每 2 个相邻点的平均值。但我不确定如何做到最好,也不确定是否有更好的解决方案。
另外,我知道我需要计算另一个数组。绘图仅用于表示。
【问题讨论】:
-
您使用循环来计算平均值的想法是正确的 - 但您应该为每个 x 值执行此操作,而不是每 2 个相邻点,至少如果我正确理解它是什么你想要的。