I am new to TikZ. I am trying to realize the photo using the TikZ package.
I know how to draw these individual figures using tikzpicture. However I am not sure how I can place them in order and use arrows to connect them. I found some similar examples using the graph library, but those examples only involve simple nodes which are circles. So I want to know if the package allows figures as nodes as in the photo. It would be better if I can specify the coordinates of each of the small figures.
Update: I am using the method suggested by the comments. Here is a part of my code:
\begin{tikzpicture}[scale=0.6]
\definecolor{shading}{gray}{0.8}
% Unit Disk
\begin{scope}[shift={(-12,1)},local bounding box=D]
\filldraw[color=shading] (0,0) circle (2);
\draw [line width=1pt] (0,0) circle (2);
\draw [->] (-2.5, 0) -- (2.5,0);
\draw [->] (0, -2.5) -- (0, 2.5);
\node at (0,-3) {Unit Disk $\mathbb D$};
\end{scope}
% Upper Half Plane
\begin{scope}[scale=1.1,local bounding box=H]
\filldraw[color=shading] (-2.5,0) rectangle (2.5,2.5);
\draw [line width=1pt] (-2.5, 0) -- (2.5,0);
\draw [->] (-2.5, 0) -- (2.5,0);
\draw [->] (0, -1) -- (0, 2.5);
\node at (0,-1.5) {Upper Half Plane $\mathbb H$};
\end{scope}
\draw [->] (H) -- (D);
\end{tikzpicture}
The output picture is as follows:
Here are the main problems:
- The arrow seems too long. I wonder if I can add some code in the scope environment to make my bounding boxes larger.
- I don't know how to add two parallel arrows of opposite directions with formulae on them. The formulae also need to be kept in the horizontal direction regardless of the direction of the arrow.
- In addition, I want to put self-pointing arrows on these nodes.
tikzpicture
, wrapped in\begin{scope}[shift={(x,y)}, local bounding box=foo] <code for single part> \end{scope}
, and with appropriate values forx
andy
. Thelocal bounding box
option will make a node namedfoo
that fits around the content of thescope
, and you can use that to draw the connections. – Torbjørn T. Sep 23 '20 at 21:10standalone
class, and use\node at (x,y) {\includegraphics{subdiagram1}};
. – Torbjørn T. Sep 23 '20 at 21:11