启发我的事情来自:
- 这个帖子 :使用 TikZ 在 LaTeX 中进行线性回归
- 还有这篇文章:Pgf-Plot 在节点和函数之间画一条线
我想绘制一个线性回归,其中的线表示节点和回归函数之间的距离。
代码应该像前面提到的两个主题一样运行,但我不知道如何编写。由于这两种技术的混合似乎从未在其他主题中提及过,有人能帮助我吗?
\begin{tikzpicture}
\begin{axis}[
% xmin = 0, xmax = 11,
% ymin = 0, ymax = 11,
width = \textwidth,
height = 0.75\textwidth,
xtick distance = 1,
ytick distance = 10,
grid = both,
minor tick num = 1,
major grid style = {lightgray},
minor grid style = {lightgray!25},
xlabel = {Expérience (en années)},
ylabel = {Salaire (en k\euro)},
legend cell align = {left},
legend pos = north west
]
% Plot data
\addplot[teal, only marks]
table[col sep=comma,x=YearsExperience, y=Salary] {Salary_Data.csv};
% Linear regression
\addplot[thick,orange]
table[
x = YearsExperience,
y = {create col/linear regression={y=Salary}},col sep=comma
] {Salary_Data.csv};
\pgfmathdeclarefunction{f}{1}{\pgfmathparse{\pgfplotstableregressiona * #1 + \pgfplotstableregressionb}}
% Ecarts
\addplot[only marks, mark=*, mark size=1pt, mark options={draw=red, fill=red}]
table[
x = YearsExperience,
y = f(x),
col sep=comma
] {Salary_Data.csv};
% Add legend
\addlegendentry{Données brutes}
\addlegendentry{
Régression linéaire : $ x =
\pgfmathprintnumber{\pgfplotstableregressiona} t
\pgfmathprintnumber[print sign]{\pgfplotstableregressionb}$
};
\end{axis}
\end{tikzpicture}
如果您对示例使用的数据感兴趣,可以在这里找到:工资数据.csv
谢谢 !