У меня есть следующий код, чтобы overplot три набора данных, скорость счета в зависимости от времени, в течение трех различных наборов временных диапазонов:Python: Как установить кривые
#!/usr/bin/env python
from pylab import rc, array, subplot, zeros, savefig, ylim, xlabel, ylabel, errorbar, FormatStrFormatter, gca, axis
from scipy import optimize, stats
import numpy as np
import pyfits, os, re, glob, sys
rc('font',**{'family':'serif','serif':['Helvetica']})
rc('ps',usedistiller='xpdf')
rc('text', usetex=True)
#------------------------------------------------------
tmin=56200
tmax=56249
data=pyfits.open('http://heasarc.gsfc.nasa.gov/docs/swift/results/transients/weak/GX304-1.orbit.lc.fits')
time = data[1].data.field(0)/86400. + data[1].header['MJDREFF'] + data[1].header['MJDREFI']
rate = data[1].data.field(1)
error = data[1].data.field(2)
data.close()
cond = ((time > tmin-5) & (time < tmax))
time=time[cond]
rate=rate[cond]
error=error[cond]
errorbar(time, rate, error, fmt='r.', capsize=0)
gca().xaxis.set_major_formatter(FormatStrFormatter('%5.1f'))
axis([tmin-10,tmax,-0.00,0.45])
xlabel('Time, MJD')
savefig("sync.eps",orientation='portrait',papertype='a4',format='eps')
Как, таким образом, сюжет Слишком много смущения, я думал, чтобы соответствовать кривым. Я попытался использовать UnivariateSpline, но это полностью испортило мои данные. Любые советы, пожалуйста? Должен ли я определить функцию, соответствующую этим данным? Я также искал «наименее квадрат»: это лучшее решение этой проблемы?
Если вы можете немного упростить свой код, чтобы показать данные, которые вы пытаетесь подобрать, это поможет людям понять ваш вопрос. Прямо сейчас, большая часть вашего кода связана с построением, не подходит. – askewchan
Я отредактировал код, чтобы выразить его проще. Надеюсь, теперь это лучше. –