Probleme bei der Umsetzung einer Grafik mit Tikz/Smartdiagram

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Probleme bei der Umsetzung einer Grafik mit Tikz/Smartdiagram

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

von Bartman » Mo 19. Sep 2022, 13:44

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.

Probleme bei der Umsetzung einer Grafik mit Tikz/Smartdiagram

von marco_polo » So 18. Sep 2022, 16:18

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.

Nach oben