为何我的 PGF 数学稍微有点偏差?

为何我的 PGF 数学稍微有点偏差?

最初,我想从最后一个点的 y 值中减去直线的 y 值,并在图上显示这个差值。在浏览了这个网站上的许多问题后,我尝试实现。这让我明白了部分道理,但在测试时\pgfplotsconvertunittocoordinate我发现计算结果有大约 2 个偏差。我愿意听取任何关于改变我的策略的建议,但为什么我的计算结果有一点偏差?

此代码...

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.csv}
s,t
5,430000
6,425209.22
\end{filecontents*}

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usetikzlibrary{calc}
\begin{document}

\begin{center}
    \begin{tikzpicture}
        \begin{axis}[title={Test},xmajorgrids=true,ymajorgrids=true,
                     scaled y ticks=false,y tick label style={/pgf/number format/fixed},ymin=355000,xtick=data,
                    ]
            \addplot[mark=*,thick,black] table[col sep=comma, x=s, y=t] {\jobname.csv}
                coordinate [pos=0] (start)
                coordinate [pos=1] (end);
            \coordinate (no) at (axis cs:5,356070); 
            \draw[red,dashed] (no) -- (no -| end);
            \draw[<->,dashed,shorten <=3pt] 
                let \p1 = (end), \p2 = (no) in 
                    (end) -- node[anchor=east]{\pgfplotsconvertunittocoordinate{y}{\y1}\pgfplotscoordmath{y}{datascaletrafo inverse to fixed}{\pgfmathresult}\pgfmathprintnumber[fixed,precision=2]{\pgfmathresult}} (no -| end);
        \end{axis}
    \end{tikzpicture}
\end{center}

\end{document}

...产生了这个结果... 结果图

...我预计节点读取的是 425,209.22。我使用了 Overleaf,它会Package: pgfplots 2017/06/05 v1.15 Data Visualization (1.15)在日志中报告。

相关内容