Tikz:使用 let 命令显示节点坐标

Tikz:使用 let 命令显示节点坐标

我正在创建一个放置节点的图表。我想在轴上显示该节点的坐标,而无需手动输入它们。

我使用 Tikz 检索这些坐标let,但坐标以 TeX 点而不是原始数字的形式存储。有没有办法让我“漂亮地”显示它?

这里是 MWE:

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
    \begin{tikzpicture}
    \draw [help lines] (0,0) grid (4,4);
    \coordinate (origin) at (0,0);
    \node[circle,fill]  (d1) at (3,2) {};

    \draw[red,thick] let    \p{1} = (d1)    in (d1|- origin) node[label=below:$\x1$]{} --  (d1) --  (d1 -| origin) node[label=left:\y1]{} ;

    \end{tikzpicture}
\end{document}

生成如下内容: 在此处输入图片描述

我希望垂直轴和水平轴上的数字分别显示为 2 和 3。

我应该使用 \pgfmathparse 之类的东西吗?我觉得 TeX 可能知道 56.90549pt 的值。

答案1

您可以使用手动转换

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
    \begin{tikzpicture}
    \draw [help lines] (0,0) grid (4,4);
    \coordinate (origin) at (0,0);
    \node[circle,fill]  (d1) at (3,2) {};

    \draw[red,thick] let    \p{1} = (d1)    in (d1|- origin)
        node[label=below:\pgfmathparse{int(round(\x1/28.45274))}$\pgfmathresult$]{} --  (d1)
        --  (d1 -| origin) 
        node[label=left:\pgfmathparse{int(round(\y1/28.45274))}$\pgfmathresult$]{} ;
   \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容