所以我得到了以下代码,我想在其中推断一条线性回归线。我尝试将其添加\pgfplotstableregressiona*x+\pgfplotstableregressionb
为一个新的图,但它根本不会显示图表。我使用了这个帖子作为参考。
我的代码如下:
\documentclass{standalone}
\usepackage{pgfplots, pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
height=0.75*\textwidth,
title=$E_{kin}$-$f$-Diagramm,
grid=major,
xlabel={$f$ in \si{\hertz}},% \SI{10e14}{Hz}},
ylabel={$E_{kin}=e\cdot U$ in \si{\electronvolt}},
legend pos = north west
]
\addplot [only marks, black] table [
x = ft,
y = et,
] {
ft et
490658687397709 1.4419589706E-17
509851119047619 2.95334559534E-17
571033253333333 7.09230189984E-17
593648431683168 8.03224552512E-17
635153512711864 1.108706230728E-16
};
\addplot [blue] table [ %draw=none
x = ft,
y = {create col/linear regression={y=et}},
]{
ft et
490658687397709 1.4419589706E-17
509851119047619 2.95334559534E-17
571033253333333 7.09230189984E-17
593648431683168 8.03224552512E-17
635153512711864 1.108706230728E-16
};
\addlegendentry{$E_{kin}(f)$}
\addlegendentry{
$\pgfmathprintnumber{\pgfplotstableregressiona}\cdot x
\pgfmathprintnumber[print sign]{\pgfplotstableregressionb}$}
\addplot[no marks,red]{\pgfplotstableregressiona*x+\pgfplotstableregressionb};
\end{axis}
\end{tikzpicture}
\end{document}
它产生: 所以正如你所看到的,它只会绘制由线性回归直接产生的线,而不是我想要的扩展线,即使代码类似于这解决方案。我的建议是,使用的值太小或太大,包无法处理。
答案1
好的,我刚刚解决了这个问题:我需要在最终的回归线图中添加域值,如下所示:\addplot[no marks, red, domain=0:7*10^14]{\pgfplotstableregressiona*x+\pgfplotstableregressionb};
手动,但现在它可以工作了。
希望这能帮助遇到同样问题的人。