plt.plot(x2, composite_spectrum(x2, *popt), 'k', label='Total fit')
plt.plot(x2, func(x2, *popt[-3:]) + x2 * popt[0] + popt[1], c='r', label=
    'Broad component')
Gaussian Fit on noisy and 'interesting' data set