Seite 1 von 1

Probleme bei der Umsetzung einer Grafik mit Tikz/Smartdiagram

Verfasst: So 18. Sep 2022, 16:18
von marco_polo
Hallo liebe Community,

ich würde gerne eine Grafik erstellen, die der angehängten Abbildung recht ähnlich ist.
Bild 18.09.22 um 14.32.JPG

Dabei scheitere ich schon bei dem Kreis. Ich habe bereits Ansätze versucht, es mit TikZ und/oder Smartdiagram hinzubekommen. Am nächstem bin ich mit dem folgenden Code kommen. Aber ich sag mal so, dass ist ein recht unschöner Kreis.
\begin{tikzpicture}
	 \tikzstyle{every node}=[font=\footnotesize]

	\node(A) at (0,0 ) [align=center]  {Reales\\ Resultat};
	\node(B) at (0,4) [align=center]  {Reales\\ Modell};
	\node(C) at (4,4) [align=center]  {Math.\\ Resultat};
	\node(D) at (4,0) [align=center]  {Math.\\ Modell};
	\node(E) at (-.5,2)  [align=center]  {Situations-\\ modell};

	\draw[->] (E) to[out=90, in=-90] (B);
	\draw[->] (B) to[out=45, in=135] (C);
	\draw[->] (C) to[out=-45, in=45] (D);
	\draw[->] (D) to[out=-135, in=-45] (A);
	\draw[->] (A) to[out=90, in=-90] (E);
\end{tikzpicture}
Wie bekomm ich den Kreis schön hin (ich denke mein Problem liegt bei dem "Situationsmodell", da alle anderen die gleichen Abstände haben).

Vielen Dank schon mal im Voraus.

Re: Probleme bei der Umsetzung einer Grafik mit Tikz/Smartdiagram

Verfasst: Mo 19. Sep 2022, 13:44
von Bartman
Bemühe Dich bitte, ein Minimalbeispiel anzubieten. Der Editor mag in diesem Fall in der Lage sein, die nötigen Ergänzungen hinzuzufügen, aber das gelingt nicht immer.

Elkes (esdd) Antwort könnte man vermutlich entsprechend anpassen, aber die Antwort auf TeX.SX braucht weniger Aufwand.
\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta,bending,calc,intersections}

\begin{document}
\begin{tikzpicture}[
  nodes={
    font=\sffamily\footnotesize, 
    align=center
  },
  pics/circular arc/.style args={from #1 to #2}{
    code={
      \path[name path=arc] 
        let 
          \p1=(#1),
          \p2=(#2),
          \n1={atan2(\y1,\x1)},
          \n2={atan2(\y2,\x2)},
          \n3={ifthenelse(abs(\n1-\n2)<180,\n2,\n2-360)}
        in 
          (\n1:\radius) arc(\n1:\n3:\radius)
      ;
      \draw[
        -{Latex[bend]},
        pic actions,
        name intersections={of=#1 and arc,by=arcstart},
        name intersections={of=#2 and arc,by=arcend}
      ] 
        let 
          \p1=(arcstart),
          \p2=(arcend),
          \n1={atan2(\y1,\x1)},
          \n2={atan2(\y2,\x2)},
          \n3={ifthenelse(abs(\n1-\n2)<180,\n2,\n2-360)}
        in 
          (\n1:\radius) arc(\n1:\n3:\radius)
      ;
    }
  }
]
\newcommand{\radius}{3}
%\draw[red] circle [radius=\radius];

\path
  (225:\radius) node [name path=RR] (RR) {Reales\\ Resultat}
  (135:\radius) node [name path=RM] (RM) {Reales\\ Modell}
  (45:\radius)  node [name path=MR] (MR) {Math.\\ Resultat}
  (315:\radius) node [name path=MM] (MM) {Math.\\ Modell}
  (180:\radius) node [name path=SM] (SM) {Situations-\\ modell}
;

\path
  pic {circular arc=from SM to RM}
  pic {circular arc=from RM to MR}
  pic {circular arc=from MR to MM}
  pic {circular arc=from MM to RR}
  pic {circular arc=from RR to SM}
;
\end{tikzpicture}
\end{document}
Beim rechten grau gefärbten Bereich genügt eine Ellipse. Für den linken Bereich kann man die Bibliothek hobby verwenden, muss es aber nicht.

Die Legende auf der rechten Seite ließe sich mit einer TikZ-Matrix erstellen.