如何仅提取预定义坐标的 x 或 y 部分?
例如,假设我们有
\coordinate (A) at (1,2);
(A)
我想像这样使用 x 部分
\draw (x of A,3)--(0,0);
答案1
我不知道有任何直接的语法可以做到这一点(尽管我很想有一个)。但是你可以使用操作let
(TikZ v2.10 手册中的第 14.15 节):
\usetikzlibrary{calc}
[...]
\draw let \p1 = (A) in (\x1,3) -- (0,0);
答案2
对于问题的第二部分:您可以使用语法来做到这一点|-
。
\coordinate (A) at (1,2);
\draw (A |- 0,3) -- (0,0);
请注意,对于 pgfplots,您需要将版本设置为至少 1.11(例如,\pgfplotsset{compat=1.11}
或\pgfplotsset{compat=newest}
)或使用格式的坐标(axis cs:x,y)
来实现预期行为。