我想在Python中将多条高斯曲线拟合为质谱数据。现在,我一次将数据拟合成一个高斯 - 一次一个范围。如何在Python中拟合多个高斯曲线到质谱数据?
有没有更简化的方法来做到这一点?有没有办法通过循环运行数据来在每个峰值处绘制高斯?我猜想有一个更好的方法,但我已经梳理了互联网。
我的两个高斯图如下所示。
下面是我当前的代码:
import numpy as np
import matplotlib.pyplot as plt
import scipy.optimize as opt
from scipy.interpolate import interp1d
RGAdata = np.loadtxt("/Users/ilenemitchell/Desktop/RGAscan.txt", skiprows=14)
RGAdata=RGAdata.transpose()
x=RGAdata[0]
y=RGAdata[1]
# graph labels
plt.ylabel('ion current')
plt.xlabel('mass/charge ratio')
plt.xticks(np.arange(min(RGAdata[0]), max(RGAdata[0])+2, 2.0))
plt.ylim([10**-12.5, 10**-9])
plt.title('RGA Data Jul 25, 2017')
plt.semilogy(x, y,'b')
#f