我已经运行了一个模拟,并获得了一组数据。它由三行组成。行1包含时间,行2包含能量值,行3包含特定波长。
现在,对于每个波长值,有10个能量值,同样,对于每个能量值,有一个时间。
现在假设我有10个波长,我有10*10 =100能量值。所以我想做的是写一个代码,它首先对特定波长的能量值进行平均,然后绘制平均能量对波长的值。
我被困了将近一个星期,任何帮助都将不胜感激。
发布于 2021-06-07 15:37:13
我不太确定这是否是你想要的,如果不是,给出一个你的数据的例子。
# Dummy data
energy = list(range(0,100))
wavelength = list(range(0,10))
# Compute how many energy values for each wavelength
k = int(len(energy)/len(wavelength))
# Compute average energy for each block of k values
energy_avg = [sum(energy[i:i+k])/k for i in range(0, len(energy), k)]
# Plot
import matplotlib.pyplot as plt
plt.plot(wavelength, energy_avg , '.')
plt.xlabel('wavelength')
plt.ylabel('average energy')
plt.show()https://stackoverflow.com/questions/67867376
复制相似问题