3-Teilige Grafik

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: 3-Teilige Grafik

von DEVV » Mi 27. Jul 2016, 15:20

Welcher Teil ist denn davon ausschlaggebend für die höhe der Markierung?

von Noch so einer » Do 14. Jul 2016, 18:16

Du musst die Abstände kleiner machen, ein Kind einfügen und die Linie ein Kind weiter machen:
\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=6em,
      every child node/.style=node1% einheitlicher Stil für alle child nodes
    ] 
    \node[node1](ub) {9. }[grow'=up] 
       child { node{4. str\_receiver} } ; 
    \node[node1,above=2em](ob) at (ub-1.north)  {7.}[grow'=up] 
       child { node {5. } 
          child{node{3. } 
             child{node{2. } child{node{Kind}}} 
             child{node{0. }}} 
       child{ 
          child[missing] 
          child{node{1. }}}}; 

    \path[<->,very thick,shorten <=.5ex,shorten >=.5ex]
      (ub-1)
      edge node[pos=.5,right]{\includegraphics[width=1em]{example-image.png}}
      (ob)
    ; 
    
    %\path(current bounding box.east)--++(2em,0)coordinate(h); 
    \path(ob-1-2-2.east)--++(2em,0)coordinate(h); 
    \draw[|-|,very thick] 
       (ob.south-|h) 
       -- node[right]{Bereich 1} 
       (ob-1-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}

von DEVV » Do 14. Jul 2016, 18:00

Danke für die vielen Antworten. Könnte mir evtl. jmd. verraten was ich verändern muss, damit Bereich 1 weiter nach oben geht (also länger auf der Y-Achse ist), wenn ich 2. 0. und 1. noch jeweils ein Kind gebe?

von esdd » Di 28. Jun 2016, 03:04

Zum Ausrichten der Bereichsbegrenzer kannst Du entweder den east Anker des Node verwenden, der am weitesten links ist - in Deinem aktuellen Bespiel ist das ob-1-2-2 statt ob-1-2 - oder den east Anker des Node current bounding box.

Ein einheitlicher Stil für die child nodes lässt sich über every child node/.style einstellen.

Ein Bild bekommst Du neben den Pfeil, in dem Du beim Du beim Zeichnen von diesem hinter edge einen entsprechenden Node einfügst.
\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,
      every child node/.style=node1% einheitlicher Stil für alle child nodes
    ] 
    \node[node1](ub) {9. }[grow'=up] 
       child { node{4. str\_receiver} } ; 
    \node[node1,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 node[pos=.5,right]{\includegraphics[width=1em]{example-image.png}}
      (ob)
    ; 
    
    %\path(current bounding box.east)--++(2em,0)coordinate(h); 
    \path(ob-1-2-2.east)--++(2em,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}
Bild
Dateianhänge
gl_baumbeschriftung.png
gl_baumbeschriftung.png (17.56 KiB) 1001 mal betrachtet

von DEVV » Mo 27. Jun 2016, 22:18

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

von Beinschuss » Mo 27. Jun 2016, 20:58

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}

von DEVV » Mo 27. Jun 2016, 20:03

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 ?

von Beinschuss » Mo 27. Jun 2016, 20:01

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}

von DEVV » Mo 27. Jun 2016, 19:42

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 ?

von esdd » Di 14. Jun 2016, 00:51

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}

Nach oben