pgfplots 错误列的线性回归

pgfplots 错误列的线性回归

以下 MWEY在直接绘制列时正确绘制了该列(黑点)。但是,如果该列是最后一列(黑色虚线),则为该Y列指定的线性回归实际上适合该列。如果是第二列,则回归适用于正确的列(蓝色虚线)。即使它是最后一列,我如何才能让线性回归适用于该列?ZYYY

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.10}

\begin{document}
\begin{tikzpicture}
\begin{axis}[ytick={1,...,6}]
\pgfplotstableread{%
X Z Y
1 3 0
2 4 1
3 5 2
4 6 3
}\test
\addplot[only marks, mark=*] table[x=X, y=Y] {\test};
% Here be dragons
\addplot[no markers,dashed,x=X,y={create col/linear regression={y=Y}}] table {\test};
% Here is normal
\addplot[no markers,dashed,x=X,y={create col/linear regression={y=Y}},blue]
table{%
X Y Z
1 0 3
2 1 4
3 2 5
4 3 6
};
\end{axis}
\end{tikzpicture}
\end{document}

错误的线性回归

答案1

选项y={create col...}需要进去\addplot table [<options>],而不是\addplot [<options>] table

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.10}

\begin{document}
\begin{tikzpicture}
\begin{axis}[ytick={1,...,6}]
\pgfplotstableread{%
X Z Y
1 3 0
2 4 1
3 5 2
4 6 3
}\test
\addplot[only marks, mark=*] table[x=X, y=Y] {\test};
\addplot[no markers,dashed, red] table [x=X,y={create col/linear regression={y=Y}}] {\test};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容