# How to use x coordinate of a point and y coordinate of other point? [duplicate]

How to use x coordinate of a point and y coordinate of other point? I need similar to

\coordinate (A) at (2,1);
\coordinate (B) at (3,0);
\coordinate (C) at (4,3);
\coordinate (D) at (5,-1);

\draw (xA,yB) -- (xC,yD);

-

## marked as duplicate by Jake, Alain Matthes, Claudio Fiandrino, percusse, Torbjørn T.Jul 17 '12 at 14:20

You can also extract the x and y coordinates as per Extract x, y coordinate of an arbitrary point in TikZ. – Peter Grill Jul 16 '12 at 22:44

You can use the orthogonal coordinate system identifiers -| and |-. They indicate horizontal component of the first and vertical component of the second for -| and vice versa for |-.

I have converted the coordinates to nodes to show the locations.

\begin{tikzpicture}
\node (A) at (2,1) {a};
\node (B) at (3,0) {b};
\node (C) at (4,3) {c};
\node (D) at (5,-1) {d};

\draw (A |- B) -- (C |- D);
\end{tikzpicture}


-

Here's a less convenient solution than the solution proposed by Percusse but closer to the initial demand.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node (A) at (2,1) {a};
\node (B) at (3,0) {b};
\node (C) at (4,3) {c};
\node (D) at (5,-1) {d};

\draw let \p{A}=(A), \p{B}=(B), \p{C}=(C), \p{D}=(D) in
(\x{A},\y{B}) -- (\x{C},\y{D});
\end{tikzpicture}
\end{document}


The result is exactly the same...

-