回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个数据图,并对其应用了线性拟合,但是,我不知道为什么,但拟合线与数据本身相差甚远。我该如何对这条线施加限制,使它正好适合我的数据(最好使数据也成为图表的焦点!)</p>
<p>图形输出和代码如下:</p>
<p><a href="https://i.stack.imgur.com/2pcqV.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2pcqV.jpg" alt="Linear Fitted Data"/></a></p>
<pre><code>plt.plot(np.log(ts), amps, "1", ms=5, label="Schmitt Analysis (Amplitude against Log(Time))")
##Plot Linear Fit
y1, r, *_ = np.polyfit(amps, np.log(ts), 1, full=True)
f1 = np.poly1d(y1)
plt.plot(amps, f1(amps), label=f"linear ($\chi^2$ = {r[0]:0.2f})")
plt.xlabel("Log(Time)")
plt.ylabel("Amplitude")
plt.title("Schmitt Analysis (Amplitude against Log(Time))")
plt.xlim(0,10)
plt.ylim(-40,80)
plt.legend()
plt.savefig('A_Schmitt.jpg')
</code></pre>
<p>正在使用的实际数据:</p>
<blockquote>
<p>log(ts) = [ -inf 2.89037176 3.58351894 3.98898405 4.49980967 4.68213123
4.83628191 4.9698133 5.08759634 5.19295685 5.28826703 5.37527841
5.45532112 5.52942909 5.59842196 5.7235851 5.78074352 5.83481074
5.9348942 6.02586597 6.06842559 6.10924758 6.1484683 6.22257627
6.25766759 6.32435896 6.38687932 6.41673228 6.44571982 6.50128967
6.52795792 6.5539334 6.71901315 6.78219206]</p>
</blockquote>
<blockquote>
<p>amps = [77.78630383833547, 62.92926582239441, 63.84025706577048, 55.489066870438165, 38.60797989548756, 40.771390484048545, 14.679073842876978, 33.95959972488966, 29.41960790300141, 32.93241034391399, 30.927428194781815, 31.086396885182356, 21.52771899125612, 4.27684299160886, 6.432975528727562, 7.500376934048583, 18.730555740591637, 4.355896959987761, 11.677509915219987, 12.865482314301719, 0.6120306267606219, 12.614420497451556, 2.2025029753442404, 9.447046999592711, 4.0688197216393425, 0.546672901996845, 1.12780050608251, 2.2030852358874635, 2.202804718915858, 0.5726686031033587, 0.5465322281618783, 0.5185100682386156, 0.575055917739342, 0.5681697592593679]</p>
</blockquote>
<p>注意到我犯了一个错误,我设法让图表更新了一点,但现在拟合完全失败了。<br/>
<a href="https://i.stack.imgur.com/oHfo6.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oHfo6.jpg" alt="Graph 2"/></a></p>
<p>我也将上面的代码更新为新版本</p>