如何使用python绘制csv文件确定多个峰的峰面积?

时间:2018-10-11 08:17:07

标签: python

首先,我想指出我是编程的新手(从上周开始),而我的知识有限。 到目前为止,我设法绘制了2个文件并设置了辅助y轴,标签,网格...。 我搜索了可以整合峰并给出峰面积的代码,但找不到任何有帮助的代码。我成功使用了peakutils在x和Y轴上看到了峰值。

将matplotlib.pyplot导入为plt 将numpy导入为np导入peakutils

x, y = np.loadtxt('second.txt', delimiter=',', unpack=True, skiprows=10)
indexes = peakutils.indexes(y, thres=0.1, min_dist=300) 
print(x[indexes], y[indexes]) 
plt.annotate(str(x[indexes]) + "," + str(y[indexes]), xy=(1.5, 15000)) 
peaks_x = peakutils.interpolate(x, y, ind=indexes)

plt.grid(True) plt.grid(color='grey', linestyle='-', linewidth=0.25, alpha=0.5)
plt.xlabel('time') plt.ylabel('detector signal') 
plt.plot(x,y, label='Detector') 
plt.title('run 231 \ntest plot') 
plt.legend() 
plt.show()

我的情节看起来像这样:

PLot

我的问题是,是否有人可以通过代码帮助我整合0.8、2.2、2.5和3.1分钟的峰并查看峰面积。

真正的细峰(在0.01、0.5、1.1和2分钟处)是阀门开关,因此应忽略。

谢谢。

0 个答案:

没有答案