3-Teilige Grafik

Tabellen und Grafiken erstellen und anordnen


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Eventuell genügt es schon einen kleineren Wert für level distance anzugeben. Default sind 15mm.
\documentclass[]{beamer} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{tikz} 
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{navigation symbols} 

\begin{document} 
\section{Auktionsagenten - Einführung}   
\begin{frame} 
\frametitle{Auktionsagenten - Einführung} 
\begin{center} 
\begin{tikzpicture}[
 level distance=1cm,% <- default sind 15mm
 sibling distance=10em, 
 every node/.style = { 
 shape=rectangle, rounded corners, 
 draw, align=center, 
 top color=white, bottom color=blue!20 
 } 
 ] 
 \node(ub) {9. }[grow'=up] 
 child { node {4. } } ; 
 \node[above=1cm](ob) at (ub-1) {7. }[grow'=up] 
 child { node {5. } 
 child{node{3. } 
 child{node{2. }} 
 child{node{0. }} 
 } 
 child{node{1. } 
 } 
 }; 
 \path[->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob); 
 \end{tikzpicture}
\end{center} 
\end{frame} 
\end{document}

DEVV
Forum-Century
Forum-Century
Beiträge: 117
Registriert: Sa 31. Okt 2015, 17:06

Beitrag von DEVV »

Danke, gibt es ggf. ne Möglichkeit den Pfeil von oben (\path...) in beide Richtigungen zeigen zu lassen und ein image "test.img" daneben einzufügen?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

DEVV hat geschrieben:Danke, gibt es ggf. ne Möglichkeit den Pfeil von oben (\path...) in beide Richtigungen zeigen zu lassen
\path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob); 

DEVV
Forum-Century
Forum-Century
Beiträge: 117
Registriert: Sa 31. Okt 2015, 17:06

Beitrag von DEVV »

Hammergeil, danke.

Wenn ich schon dabei bin, frage ich doch gleich mal.

Der obere Baum gehört zu einem anderen Anwendungsbereich als der untere, wie kann ich das am besten in Latex visualisieren?
Auf einer Zeichnung würde ich einfach einen vertikalen geraden Strich mit T und (umgedrehtes T) als Endstücke machen und daneben den entsprechenden Bereich benennen, dann nochmal einen Strich neben dem unteren Bereich.

Hat da jmd. nen Vorschlag für Latex?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ich bin mir jetzt sehr unsicher, ob ich verstanden habe, was Du möchtest.
\documentclass[]{beamer} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{tikz} 
\setbeamertemplate{footline}[frame number] 
\setbeamertemplate{navigation symbols} 

\begin{document} 
\section{Auktionsagenten - Einführung}   
\begin{frame} 
\frametitle{Auktionsagenten - Einführung} 
\begin{center} 
\begin{tikzpicture}[ 
  level distance=1cm,% <- default sind 15mm 
  sibling distance=10em,
  tree node/.style = { 
    shape=rectangle, rounded corners, 
    draw, align=center, 
    top color=white, bottom color=blue!20 
  },
  every child node/.style=tree node
] 
\node[tree node](ub) {9. }[grow'=up] 
  child { node {4. } } ; 
\node[tree node,above=1cm](ob) at (ub-1) {7. }[grow'=up] 
  child { node {5. } 
    child{node{3. } 
      child{node{2. }} 
      child{node{0. }} 
    } 
  child{node{1. } 
  } 
}; 
\path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob);

\path(ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-,very thick]
  (ob.south-|h)
  -- node[right]{Bereich 1}
  (ob-1-1-1.north-|h)
;
\draw[|-,very thick]
  (ub-1.north-|h)
  -- node[right]{Bereich 2}
  (ub.south-|h)
; 
\end{tikzpicture} 
\end{center} 
\end{frame} 
\end{document}

DEVV
Forum-Century
Forum-Century
Beiträge: 117
Registriert: Sa 31. Okt 2015, 17:06

Beitrag von DEVV »

Ich habe aktuell noch das Problem, dass die Bereiche in den Baum rein hängen und die Nodes sehen kacke aus:
\documentclass[]{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{navigation symbols}

\begin{document}
\section{Auktionsagenten - Einführung}  
\begin{frame}
\frametitle{Auktionsagenten - Einführung}
\begin{center}
\scalebox{0.8}{
    		\begin{tikzpicture}[sibling distance=8em,
  				every node/.style = {shape=rectangle, rounded corners,
   			 	draw, align=center,
    			top color=white, bottom color=blue!20}]]
    			\node(ub) {9. }[grow'=up]
  child { node {4. str\_receiver} } ; 
  		\node[above=2em](ob) at (ub-1.north)  {7.}[grow'=up]
    		child { node {5. } 
    			child{node{3. }
    				child{node{2. }}
    				child{node{0. }}}
    		child{
    			child[missing]
    			child{node{1. }}}};
  				
    		\path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob);

\path(ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
  (ob.south-|h)
  -- node[right]{Bereich 1}
  (ob-1-1-1.north-|h)
;
\draw[|-|,very thick]
  (ub-1.north-|h)
  -- node[right]{Bereich 2}
  (ub.south-|h)
; 
    		\end{tikzpicture}
    		
}
\end{center}
\end{frame}
\end{document}


Wie kann ich ein .png genau an den Pfeil \path[->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob); machen ?

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

xshift könnte Dein Freund sein:
\documentclass[]{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{navigation symbols}

\begin{document}
\section{Auktionsagenten - Einführung}  
\begin{frame}
\frametitle{Auktionsagenten - Einführung}
\begin{center}
\scalebox{0.8}{
          \begin{tikzpicture}[sibling distance=8em,
              every node/.style = {shape=rectangle, rounded corners,
                draw, align=center,
             top color=white, bottom color=blue!20}]]
             \node(ub) {9. }[grow'=up]
  child { node {4. str\_receiver} } ; 
        \node[above=2em](ob) at (ub-1.north)  {7.}[grow'=up]
          child { node {5. } 
             child{node{3. }
                child{node{2. }}
                child{node{0. }}}
          child{
             child[missing]
             child{node{1. }}}};
              
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob);

\path([xshift=2cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
  (ob.south-|h)
  -- node[xshift=.5cm][right]{Bereich 1}
  (ob-1-1-1.north-|h)
;
\draw[|-|,very thick]
  (ub-1.north-|h)
  -- node[xshift=.5cm][right]{Bereich 2}
  (ub.south-|h)
; 
          \end{tikzpicture}
          
}
\end{center}
\end{frame}
\end{document}

DEVV
Forum-Century
Forum-Century
Beiträge: 117
Registriert: Sa 31. Okt 2015, 17:06

Beitrag von DEVV »

Alles klar danke, wie schaut es mit dem verhindern aus, dass "Bereich 1" und "Bereich 2" eine Node sind? Ich finde das hässlig, wenn die beiden Namen für die Bereiche wie ein Teil des Baumes aussehen.

Was kann ich außerdem mit meiner .png machen, die an den Doppelpfeil soll ?

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Definiere ein TiKz-Set für die Nodes:
\documentclass[]{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\setbeamertemplate{footline}[frame number]
\setbeamertemplate{navigation symbols}

\begin{document}
\tikzset{node1/.style={rectangle,rounded corners,draw=black, align=center, top color=white, bottom color=blue!20}} 
\section{Auktionsagenten - Einführung}  
\begin{frame}
\frametitle{Auktionsagenten - Einführung}
\begin{center}
\scalebox{0.8}{
          \begin{tikzpicture}[sibling distance=8em]
             \node[node1](ub) {9. }[grow'=up]
  child { node[node1] {4. str\_receiver} } ; 
        \node[node1][above=2em](ob) at (ub-1.north)  {7.}[grow'=up]
          child { node[node1] {5. } 
             child{node[node1]{3. }
                child{node[node1]{2. }}
                child{node[node1]{0. }}}
          child{
             child[missing]
             child{node[node1]{1. }}}};
              
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)edge(ob);

\path([xshift=2cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
  (ob.south-|h)
  -- node[xshift=.5cm][right]{Bereich 1}
  (ob-1-1-1.north-|h)
;
\draw[|-|,very thick]
  (ub-1.north-|h)
  -- node[xshift=.5cm][right]{Bereich 2}
  (ub.south-|h)
; 
          \end{tikzpicture}
          
}
\end{center}
\end{frame}
\end{document}

DEVV
Forum-Century
Forum-Century
Beiträge: 117
Registriert: Sa 31. Okt 2015, 17:06

Beitrag von DEVV »

Danke, dann wäre da nur noch mein .png Problem ...

Antworten