Schaubild mit Tikz

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: Schaubild mit Tikz

von Stefan Kottwitz » Sa 9. Jan 2016, 14:59

Nebenbei habe ich auch mal was skizziert.

Mein häufiges Vorgehen:

  • styles verwenden, ggf. Grund-styles worauf andere aufbauen,

  • macros für alles was, sich wiederholt,

  • foreach-Schleifen, wenn sich etwas wiederholt

  • Rechteckig angeordnete Sachen in einer Matrix platzieren

  • Bezüge relativ (keine absoluten Koordinaten)

  • wenn wirklich Werte benötigt werden (Abstände), zentral angeben oder nur einmal definieren und andere Sachen damit berechnen,

  • sowieso TikZ rechnen lassen (Mittelpunkte, Schnitte, ...) statt selber Koordinaten aufzuschreiben.

Am Beispiel vereinfacht:

\documentclass[border=20pt]{standalone} 
\usepackage{tikz}
\usetikzlibrary{matrix,arrows.meta}
\tikzset{
  leer/.style     = { font=\sffamily\Large, align=center,
                      text width=2cm, anchor=center},
  box/.style      = { font=\sffamily, fill=green,  align=left, anchor=center},
  ergebnis/.style = { font=\sffamily\scriptsize, fill=black!20, anchor=center},
  pfeil/.style    = { very thick, color=red, ->, >=Triangle},
}
\newcommand*{\nix}{Tue nichts}
\begin{document}
\begin{tikzpicture}
  \matrix (m)
    [
      matrix of nodes,
      column sep      = 3em,
      row sep         = 5ex,
      column 1/.style = {nodes={leer}},
      column 2/.style = {nodes={box}},
      column 3/.style = {nodes={ergebnis}}
    ]
    {
      S-E-E               & Festgelegt?   & \nix \\
      H-E-E               & Beeinflussen? & \nix \\
      Anreiz\-kalkulation & Wichtig?      & \nix \\
      S-E-E               & Folgen?       & \nix \\
    };
    \foreach \i/\j in {1/2,2/3,3/4} {
      \draw [pfeil] (m-\i-2) -- (m-\j-2);
      \draw [pfeil] (m-\i-2) -- (m-\i-3);
     }
    \draw [pfeil] (m-4-2) -- (m-4-3);
\end{tikzpicture}
\end{document}
modell.png
modell.png (15.96 KiB) 4551 mal betrachtet

Stefan

von julinchen2608 » Sa 9. Jan 2016, 14:48

So, nun noch kurz für alle die das mal googlen weil sie den Code für eben jenes Motivationsmodell suchen - hier der fertige Code:
(Vorgeplänkel...)
noch dazu das ohne aussagenlogische Fassung:

\subsection{Erweitertes kognitives Motivationsmodell}
\begin{center}
\begin{tikzpicture}

\draw (0,0) node[black, below, draw]{Situation};
\draw (3,0) node[black, below, draw]{Handlung};
\draw (6,0) node[black, below, draw]{Ergebnis};
\draw (9,0) node[black, below, draw]{Folgen};
\draw[-] (0,0) -- (0,1);
\draw[-] (0,1) -- (5.5,1) node[above, pos=0.5]{Situations-Ergebnis-Erwartung};
\draw[-] (5.5,1) -- (5.5,0);
\draw[-] (3,0) -- (3,2);
\draw[-] (3,2) -- (6.5,2) node[above, pos=0.5]{Handlungs-Ergebnis-Erwartung};
\draw[-] (6.5,2) -- (6.5,0);
\draw[-] (6,0) -- (6,3);
\draw[-] (6,3) -- (9,3) node[above, pos=0.5]{Ergebnis-Folge-Erwartung};
\draw[-] (9,3) -- (9,0);
\draw (3,-2) node[black, below, draw]{Tätigkeitsanreize};
\draw [->] (3,-2) -- (3,-1);
\draw (9,-2) node[black, below, draw]{Folgenanreize};
\draw [->] (9,-2) -- (9,-1);
\draw [->] (1.2,-0.3) -- (1.8,-0.3);
\draw [->] (4.2,-0.3) -- (4.8,-0.3);
\draw [->] (7.2,-0.3) -- (8,-0.3);
\end{tikzpicture} \end{center}
$\ $\\
Nach Heckhausen und Rheinberg (vgl. \cite{Heckhausen}, S.375).
\subsubsection{Aussagenlogische Fassung}
\begin{center}
\begin{tikzpicture}[
   % Stile definieren (Namen bitte sinvoll anpassen …):
   gruene Box/.style = {
      text width = 10em,
      fill = green!30,
   },
   tu-nix-Box/.style = {
      fill = black!20,
   },
   Ja-Pfeil/.style = {
      green, ultra thick, ->,
   },
   Nein-Pfeil/.style = {
      red, ultra thick, ->,
   },
]
   % Textblöcke zeichnen/platzieren
   \node (Erg belegt?) [gruene Box]
      {Ist das Ergebnis durch die Situation bereits festgelegt?};
   \node (tn1) [right = of Erg belegt?, tu-nix-Box] {tue nichts};
   \node [left = of Erg belegt?] {S-E-E};
   
\node (Erg beeinflussen?) [gruene Box, below = 15mm of Erg belegt?] {Kann ich das Ereignis durch hinreichendes Handeln beeinflussen?}; \node (tn2) [right = of Erg beeinflussen?, tu-nix-Box] {tue nichts}; \node [left = of Erg beeinflussen?] {H-E-E}; \node (Folgen wichtig?) [gruene Box, below = 15mm of Erg beeinflussen?] {Sind mir die Folgen des Ergebnisses wichtig genug??}; \node (tn3) [right = of Folgen wichtig?, tu-nix-Box] {tue nichts}; \node [left = of Folgen wichtig?] {Anreiz-Kalkulation}; \node (Erg Folgen?) [gruene Box, below = 15mm of Folgen wichtig?] {Zieht das Ergebnis auch die gewünschten Folgen nach sich?}; \node (tn4) [right = of Erg Folgen?, tu-nix-Box] {tue nichts}; \node [left = of Erg Folgen?] {Intrumentalität}; % Pfeile zeichnen \draw [Ja-Pfeil] (Erg belegt?) -- (tn1); \draw [Nein-Pfeil] (Erg belegt?) -- (Erg beeinflussen?); \draw [Nein-Pfeil] (Erg beeinflussen?) -- (tn2); \draw [Nein-Pfeil] (Folgen wichtig?) -- (tn3); \draw [Nein-Pfeil] (Erg Folgen?) -- (tn4); \draw [Ja-Pfeil] (Erg beeinflussen?) -- (Folgen wichtig?); \draw [Ja-Pfeil] (Folgen wichtig?) -- (Erg Folgen?); \end{tikzpicture} \end{center}

von julinchen2608 » Sa 9. Jan 2016, 14:36

wow, vielen Dank!
ich hatte es jetzt mühselig so gemacht: (bzw. angefangen)

\begin{tikzpicture}
\draw (0,0) node[black, left]{S-E-E};
\draw (3,0) node[black, right, draw, text width= 6cm]{Ist das Ergebnis durch die Situation bereits festgelegt?};
\draw (0,-2) node[black, left]{H-E-E};
\draw (3,-2) node[black, right, draw, text width= 6cm]{Kann ich das Ergebnis durch eigenes Handeln hinreichend beeinflussen?};
\draw (3,-4) node[black, right, draw, text width= 6cm]{Sind mir die Folgen des Ergebnisses wichtig genug?};
\draw (3,-6) node[black, right, draw, text width= 6cm]{Zieht das Ergebnis auch die erwünschten Folgen nach sich?};
\\draw (0,-2) node[black, left, text width= 3cm]{Anreiz- Kalkulation};
\end{tikzpicture}

aber deins ist viel schicker. Danke danke danke!!!

von iTob » Sa 9. Jan 2016, 14:32

Hi,

ich hatte jetzt keine Lust, die ganze Abbildung für dich nachzubauen, aber mit dem folgenden Beispiel solltest du den Rest eigentlich selber leicht ergänzen können ;-)

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[
   % Stile definieren (Namen bitte sinvoll anpassen …):
   gruene Box/.style = {
      text width = 10em,
      fill = green!50,
   },
   tu-nix-Box/.style = {
      fill = black!20,
   },
   Ja-Pfeil/.style = {
      green, ultra thick, ->,
   },
   Nein-Pfeil/.style = {
      red, ultra thick, ->,
   },
]
   % Textblöcke zeichnen/platzieren
   \node (Erg belegt?) [gruene Box]
      {Ist das Ergebnis durch die Situation bereits festgelegt?};
   \node (tn1) [right = of Erg belegt?, tu-nix-Box] {tue nichts};
   \node [left = of Erg belegt?] {S-E-E};
   
\node (Erg beeinflussen?) [gruene Box, below = 15mm of Erg belegt?] {Kann ich das Ereignis durch hinreichendes Handeln beeinflussen?}; \node (tn2) [right = of Erg beeinflussen?, tu-nix-Box] {tue nichts}; \node [left = of Erg beeinflussen?] {H-E-E}; % Pfeile zeichnen \draw [Ja-Pfeil] (Erg belegt?) -- (tn1); \draw [Nein-Pfeil] (Erg belegt?) -- (Erg beeinflussen?); \draw [Nein-Pfeil] (Erg beeinflussen?) -- (tn2); \end{tikzpicture} \end{document}

Ich habe für die Boxen eine feste breite angeben (weil das besser aussieht), wenn du aber lieber mit \\ manuelle Umbrüche einfügen willst, kannst du anstelle von text width = x auch align = left benutzen.

Wenn du die Stile für mehrere Abbildungen benutzen willst, kannst du die auch mit \tikzset in der Präambel festlegen. Und wenn du magst, schau mal in meinem Blog vorbei, da habe ich im Dezember die meisten Features von TikZ kurz erklärt :-)

Viele Grüße
Tobi

Schaubild mit Tikz

von julinchen2608 » Sa 9. Jan 2016, 13:18

Hallihallo,

ich versuche mich gerade, in Tikz einzuarbeiten. Beim Zeichnen von Funktionen klappt das super, nun möchte ich aber die aussagenlogische Fassung des erweiterten kognitiven Motivationsmodelles nach Heckhausen und Rheinberg damit zeichnen und bin am verzweifeln. Habs erst mit so einem Baumdings (node, child, usw.) versuche, das hat gar nicht geklappt.

Ich brauche Befehle, die mir Texte in Rechtecke packen und Pfeile bunt machen können. Kann mir jemand weiterhelfen?

Soll dann so wie in dem mit GeoGebra erstellten Bild (Anhang) aussehen.. ich will aber keine fertigen Code, sondern eher Tips - gib dem Mann einen Fisch und er isst für einen Tag.. ihr kennt ja das Sprichwort.

aussagenlogische Fassung ekMM.JPG
aussagenlogische Fassung ekMM.JPG (40.37 KiB) 4567 mal betrachtet

Vielen Dank schonmal!


Nach oben