Wie zeichnet man mit TikZ den folgenden gerichteten Graphen?

Wie zeichnet man mit TikZ den folgenden gerichteten Graphen?

Bildbeschreibung hier eingeben

Ich bin neu bei TikZ. Ich versuche, das Foto mit dem TikZ-Paket zu realisieren.

Ich weiß, wie man diese einzelnen Figuren mit tikzpicture zeichnet. Ich bin mir jedoch nicht sicher, wie ich sie in eine Reihenfolge bringen und mit Pfeilen verbinden kann. Ich habe einige ähnliche Beispiele in der Graph-Bibliothek gefunden, aber diese Beispiele beinhalten nur einfache Knoten, also Kreise. Daher möchte ich wissen, ob das Paket Figuren als Knoten zulässt, wie auf dem Foto. Es wäre besser, wenn ich die Koordinaten jeder der kleinen Figuren angeben könnte.

Update: Ich verwende die in den Kommentaren vorgeschlagene Methode. Hier ist ein Teil meines Codes:

\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}

Das Ausgabebild sieht wie folgt aus: Bildbeschreibung hier eingeben

Hier sind die Hauptprobleme:

  • Der Pfeil scheint zu lang zu sein. Ich frage mich, ob ich in der Scope-Umgebung Code hinzufügen kann, um meine Begrenzungsrahmen zu vergrößern.
  • Ich weiß nicht, wie ich zwei parallele Pfeile in entgegengesetzte Richtungen mit Formeln darauf hinzufügen kann. Die Formeln müssen unabhängig von der Richtung des Pfeils auch horizontal ausgerichtet sein.
  • Außerdem möchte ich auf diesen Knoten selbstzeigende Pfeile platzieren.

Antwort1

Dieses Beispiel ist ein guter Ausgangspunkt.

  1. outer sepWenn die Pfeile zu lang sind, können Sie entweder die Länge eines Knotens erhöhen oder die shortenFunktionalität verwenden, wie sie eingeführt wirdHier.
  2. Parallele Pfeile können mit einem Pfeilpaar mit unterschiedlichen gezeichnet werden yshift.
  3. Selbstzeigende Pfeile können mit \drawdem Befehl und der Angabe von in, outund gezeichnet werden looseness.

Bildbeschreibung hier eingeben

\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage{tikz, pgfplots}
\usepackage{amsmath, amssymb}

\usetikzlibrary{calc, patterns, positioning, arrows}

\begin{document}


\begingroup
\fontsize{9}{11}\selectfont

\tikzset{
  node distance=0.1cm
}

\begin{tikzpicture}

\node (center) at (0, 0) {
  \begin{tikzpicture}[scale=1.2]
    \draw[-latex] (-1, 0)--(1, 0);
    \draw[-latex] (0, -0.2)--(0, 1);
    \draw[pattern=north west lines, pattern color=black] (-0.9, 0) rectangle (0.9, 0.8);
  \end{tikzpicture}
};
\node[below=of center] (center text) {Upper Half Plane $\mathbb{H}$};
\node (center loop) at ($(center text)+(1.3, -0.3)$) {};
\draw[-latex] (center loop) to [in=-30, out=-150, looseness=30] node[yshift=-5mm] {\tiny $\displaystyle\operatorname{Aut}(\mathbb{H})=
\left\{ f(z)=\frac{az+b}{cz+d},\ldots \right\}$} (center loop);

\node (graph1) at (-5, 1.5) {
  \begin{tikzpicture}[scale=1.2]
      \draw[-latex] (-1, 0)--(1, 0);
      \draw[-latex] (0, -0.2)--(0, 1);
      \draw[pattern=north west lines, pattern color=black] (-0.5, 0) rectangle (0.5, 0.8);
      \node at (-0.5, -0.15) {\tiny $-\frac{\pi}{2}$};
      \node at (0.5, -0.15) {\tiny $\frac{\pi}{2}$};
    \end{tikzpicture}
};
\draw[->] (center.north west) to node[midway, above, xshift=6mm] {\tiny $f(z)=\operatorname{arcsin}(z)$} (graph1.east);
\draw[->] ([yshift=-1mm]graph1.east) to node[midway, below, xshift=-6mm] {\tiny $f(z)=\sin(z)$} ([yshift=-1mm]center.north west);

\end{tikzpicture}



\endgroup
\end{document}

verwandte Informationen