12

How can I extract only the x or y part of a predefined coordinate?

For instance, let's say we have

\coordinate (A) at (1,2);

And I want to use the x part of (A) like this

\draw (x of A,3)--(0,0);

2 Answers2

15

I'm not aware of any direct syntax to do that (though I would love to have one). You can however use the let operation (section 14.15 in the TikZ v2.10 manual):

\usetikzlibrary{calc}

[...]

\draw let \p1 = (A) in (\x1,3) -- (0,0); 
Caramdir
  • 89,023
  • 26
  • 255
  • 291
3

For the second part of your question: You can do that with the |- syntax.

\coordinate (A) at (1,2);

\draw (A |- 0,3) -- (0,0);

Note that for pgfplots you need to set the version to at least 1.11 (e.g., \pgfplotsset{compat=1.11} or \pgfplotsset{compat=newest}) or use coordinates in the (axis cs:x,y) format for the intended behaviour.

Scz
  • 1,633