Zeichnen Sie eine kreisförmige Verbindungsleiste zwischen zwei (oder mehr) Knoten verschiedener Tikz-Bilder

Zeichnen Sie eine kreisförmige Verbindungsleiste zwischen zwei (oder mehr) Knoten verschiedener Tikz-Bilder

Ich habe versucht, etwas zu finden, das dieser Frage so ähnlich wie möglich ist, aber nichts gefunden. Wenn ja, lassen Sie es mich bitte wissen. Ich möchte zwei Knoten, die sich in unterschiedlichen Tikzpicture-Umgebungen befinden, über eine kreisförmige Verbindungsleiste verbinden. Standardmäßig sollte sich der Verbindungsleistencode in der Nähe der Tikzpicture-Umgebung des zuletzt deklarierten Knotens befinden oder auf ein einzelnes Tikzpicture beschränkt sein, aber niemals auf die Tikzpicture-Umgebung des ersten deklarierten Knotens, siehe Fall 1 und 2. Alles scheint (optische Täuschung?) gut zu funktionieren, aber in beiden Fällen bleiben die Knoten nicht an ihrer ursprünglichen Position an beiden Enden der kreisförmigen Verbindungsleistenkante, und das ist das Hauptproblem. Wenn es eine Lösung gäbe, würde sie auch für Fall 3 funktionieren, wenn \newpage? verwendet wird.

Fall 1:

Bildbeschreibung hier eingeben

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

Fall 2:

Bildbeschreibung hier eingeben

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

Fall 3 (mit \newpage):

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\newpage
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\newpage
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

Wie von @Henri Menke angemerkt, stelle ich einen Versuch vor, remember pictureund zu verwenden overlay. Ich bin mir nicht sicher, wie ich diese Argumente genau verwenden soll, aber schließlich konnte ich die Knoten an beiden Enden oder Kanten nicht vom halten circle connection bar. Mache ich etwas falsch, wenn ich diese Argumente verwende?

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node [remember picture,overlay]
(energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

Gemäß der Anmerkung von @Henrique Menke zum obigen Versuch konnte ich die Knoten am Ende platzieren, circle connection barihre Anfangspositionen jedoch nicht beibehalten, obwohl ich versucht habe, die Koordinaten beider Knoten so zu ändern, dass sie immer weiter auseinander liegen, um zu prüfen, ob es wirklich funktionierte oder eine „optische Täuschung“ war.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}[remember picture]

        \node [remember picture] (energy1) at (30:30cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}[remember picture]
        \node [remember picture] (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]

\draw[circle connection bar,remember picture, overlay]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort1

Sie können alles in einer einzigen Tikz-Umgebung zeichnen, ohne sich die Mühe machen zu müssen, verschiedene Umgebungen miteinander zu verbinden. Die Option zum Positionieren des Etiketts hilft dabei. Dies ist ein Beispiel.

Das einzige Problem betrifft die Größe der Zeichnung und des Etiketts, was möglicherweise durch eine Textskalierung behoben werden kann. (vielleicht)

\documentclass{standalone} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1)[label=right:motorcycle.1] at (30:10cm){};
\node (energy2)[label=left:motorcycle.2] at (90:10cm){};
\draw[circle connection bar]
(energy1)%
edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]%
(energy2);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen