goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Werte an Verbindungen in Baumdarstellung

 

DEVV
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 31.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2017, 16:00     Titel: Werte an Verbindungen in Baumdarstellung
  Antworten mit Zitat      
Hallo Leute,

ich habe aktuell eine Baumdarstellung, an der ich gerne Werte an die Verbindungen schreiben würde:
Code • Öffne in Overleaf

\documentclass[12pt,twoside,a4paper]{article}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{figure}
      \begin{center}
         \scalebox{0.58}{
            \begin{tikzpicture
}[sibling distance=8em]
             \tikzset{node1/.style={rectangle,rounded corners,draw=black, align=center, top color=white, bottom color=gray!20}}
             
             \node[node1](ub) {9. output}[grow'=up]
  child { node[node1] {4. str\_receiver} } ;
        \node[node1][above=2em](ob) at (ub-1.north)  {7. sender}[grow'=up]
          child { node[node1] {5. bin\_str\_join}
             child{node[node1]{3. bin\_str\_join}
                child{node[node1]{2. rel\_source}
                   child{node{\includegraphics[width=4em]{puffer.png}}} }
                child{node[node1]{0. str\_source}
                   child{node{\includegraphics[width=4em]{puffer.png}}} }}
          child{
             child[missing]
             child{node[node1]{1. rel\_source
}
                child{node{\includegraphics[width=4em]{puffer.png}}}}}};
             
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1) edge node[pos=.5,right]{\includegraphics[width=3.5em]{Zeichnung.png}}(ob);

\path([xshift=2.75cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
(ob.south-|h)
-- node[xshift=.5cm][right]{Kernel}
(ob-1-1-1-1.north-|h)
;
\draw[|-|,very thick]
(ub-1.north-|h)
-- node[xshift=.5cm][right]{User}
(ub.south-|h)
;
          \end{tikzpicture}}
       \end{center}
       \caption{Anfrageplan der \textbf{Netsimple-Anfrage}.}
   \end{figure}
\end{document}
 


Es sollen Werte wie z.B. 2171,938 ∗ 10^4 an die Kanten geschrieben werden.
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 907
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 25.02.2017, 17:24     Titel:
  Antworten mit Zitat      
Denke bitte an die nötigen Vorkehrungen für die Pfade Deiner Grafikdateien.

Wie zentriere ich eine Abbildung oder Tabelle richtig?

Die Anwendung der \texttt-Befehle auf einen Teil der Knotenbeschriftungen finde ich passend. Es ist aber letztlich Deine Eintscheidung.

Mir fällt zu Deinem Anliegen so etwas ein:

Code • Öffne in Overleaf
\documentclass[tikz, border=5pt]{standalone}
\usepackage[locale=DE]{siunitx}

\begin{document}
\begin{tikzpicture}[
   sibling distance=8em,
   node1/.style={
      rectangle,
      rounded corners,
      draw,
      align=center,
      top color=white,
      bottom color=gray!20
   
}
]        
  \node[node1](ub) {9. \texttt{output}}[grow'=up]
  child { node[node1] {4. \texttt{str\_receiver}} } ;
        \node[node1][above=2em](ob) at (ub-1.north)  {7. \texttt{sender}}[grow'=up]
          child { node[node1] {5. \texttt{bin\_str\_join}}
             child{node[node1]{3. \texttt{bin\_str\_join}}
                child{node[node1]{2. \texttt{rel\_source}}
                   child{node{\includegraphics[width=4em]{example-image}}}
                }
                child{node[node1]{0. \texttt{str\_source}}
                   child{node{\includegraphics[width=4em]{example-image}}}
                }
                edge from parent node[left=2mm] {\num{2171,938e4}}
             }
             child{
                child[missing]
                child{node[node1]{1. \texttt{rel\_source
}}
                   child{node{\includegraphics[width=4em]{example-image}}}
                }
                edge from parent node[right=2mm] {\num{2171,938e4}}
             }
          };
             
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1) edge node[pos=.5,right]{\includegraphics[width=3.5em]{example-image}}(ob);

\path([xshift=2.75cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
(ob.south-|h)
-- node[xshift=.5cm][right]{Kernel}
(ob-1-1-1-1.north-|h)
;
\draw[|-|,very thick]
(ub-1.north-|h)
-- node[xshift=.5cm][right]{User}
(ub.south-|h)
;
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

DEVV
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 31.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2017, 21:22     Titel:
  Antworten mit Zitat      
Okay danke, wie bekomme ich denn einen Text links neben den Doppelpfeil?
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 907
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 25.02.2017, 21:57     Titel:
  Antworten mit Zitat      
DEVV hat Folgendes geschrieben:
Okay danke, wie bekomme ich denn einen Text links neben den Doppelpfeil?


Code • Öffne in Overleaf
\path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)
   edge node[pos=.5,right]{\includegraphics[width=3.5em]{example-image}}
        node[pos=.5,left]{Text}(ob);
Private Nachricht senden Benutzer-Profile anzeigen

DEVV
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 31.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2017, 13:25     Titel:
  Antworten mit Zitat      
Okay danke. Und wie schaffe ich es etwas zwischen den puffer.png und den ersten Knoten zu schreiben (also auch an der Verbindung). Ich schaffe das nicht bei allen...


Bei der Kante von dem Bild zu 2. funktioniert es, bei der Kante von dem Bild zu 1. gibt es einen Fehler:

Code • Öffne in Overleaf

\begin{figure}[t]
         \begin{center}
         \scalebox{0.68}{
            \begin{tikzpicture
}[sibling distance=8em]
             \tikzset{node1/.style={rectangle,rounded corners,draw=black, align=center, top color=white, bottom color=gray!20}}
             
             \node[node1](ub) {9. output}[grow'=up]
  child { node[node1] {4. str\_receiver}
   edge from parent node[left=2mm] {$1882,563*10^1$}  
  } ;
        \node[node1][above=2em](ob) at (ub-1.north)  {7. sender}[grow'=up]
          child { node[node1] {5. bin\_str\_join}
             child{node[node1]{3. bin\_str\_join}
                child{node[node1]{2. rel\_source}
                   child{node{\includegraphics[width=4em]{puffer.png}}
                  edge from parent node[left=2mm] {$\mathbf{5579,215*10^4}$}                  
                   }
                     }
                child{node[node1]{0. str\_source}
                   child{node{\includegraphics[width=4em]{puffer.png}}}
                  edge from parent node[right=2mm] {$8600,473$}                  
                   }
                   edge from parent node[left=2mm] {$3403,057$}  
                   }
          child{
             child[missing]
             child{node[node1]{1. rel\_source
}
                child{node{\includegraphics[width=4em]{puffer.png}}
               edge from parent node[right=0mm] {$\mathbf{2171,938*10^4}$}                
                }
                                 
                }}
               edge from parent node[left=2mm]{$1627,428$}                
                };
             
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)
          edge node[pos=.5,right]{\includegraphics[width=3.5em]{Zeichnung.png}}
           node[pos=.5,left]{$\mathbf{7973,254*10^4}$}(ob);

\path([xshift=2.75cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
(ob.south-|h)
-- node[xshift=.5cm][right]{Kernel}
(ob-1-1-1-1.north-|h)
;
\draw[|-|,very thick]
(ub-1.north-|h)
-- node[xshift=.5cm][right]{User}
(ub.south-|h)
;
          \end{tikzpicture}}
      \end{center}    
\end{figure}
 
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 907
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 26.02.2017, 16:04     Titel:
  Antworten mit Zitat      
DEVV hat Folgendes geschrieben:
Und wie schaffe ich es etwas zwischen den puffer.png und den ersten Knoten zu schreiben (also auch an der Verbindung). Ich schaffe das nicht bei allen...

Bei der Kante von dem Bild zu 2. funktioniert es, bei der Kante von dem Bild zu 1. gibt es einen Fehler:


Abgesehen von der Fehlermeldung durch die Leerzeile, wird Deine Beschriftung zwischen der Puffer-Abbildung und 1. angezeigt.

Code • Öffne in Overleaf
\documentclass[tikz, border=5pt]{standalone}

\begin{document}
 \begin{tikzpicture}[sibling distance=8em]
             \tikzset{node1/.style={rectangle,rounded corners,draw=black, align=center, top color=white, bottom color=gray!20}}
             
             \node[node1](ub) {9. output}[grow'=up]
  child { node[node1] {4. str\_receiver}
   edge from parent node[left=2mm] {$1882,563*10^1$}  
  } ;
        \node[node1][above=2em](ob) at (ub-1.north)  {7. sender}[grow'=up]
          child { node[node1] {5. bin\_str\_join}
             child{node[node1]{3. bin\_str\_join}
                child{node[node1]{2. rel\_source}
                   child{node{\includegraphics[width=4em]{example-image}}
                  edge from parent node[left=2mm] {$\mathbf{5579,215*10^4}$}                  
                   }
                     }
                child{node[node1]{0. str\_source}
                   child{node{\includegraphics[width=4em]{example-image}}}
                  edge from parent node[right=2mm] {$8600,473$}                  
                   }
                   edge from parent node[left=2mm] {$3403,057$}  
                   }
          child{
             child[missing]
             child{node[node1]{1. rel\_source
}
                child{node{\includegraphics[width=4em]{example-image}}
               edge from parent node[right] {$\mathbf{2171,938*10^4}$}
                }
% Die Leerzeile erzeugt ohne Kommentarzeichen eine Fehlermeldung
                }}
               edge from parent node[left=2mm]{$1627,428$}                
                };
             
          \path[<->,very thick,shorten <=.5ex,shorten >=.5ex](ub-1)
          edge node[pos=.5,right]{\includegraphics[width=3.5em]{example-image}}
           node[pos=.5,left]{$\mathbf{7973,254*10^4}$}(ob);

\path([xshift=2.75cm]ob-1-2.east)--++(1em,0)coordinate(h);
\draw[|-|,very thick]
(ob.south-|h)
-- node[xshift=.5cm][right]{Kernel}
(ob-1-1-1-1.north-|h)
;
\draw[|-|,very thick]
(ub-1.north-|h)
-- node[xshift=.5cm][right]{User}
(ub.south-|h)
;
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

DEVV
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 31.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2017, 20:35     Titel:
  Antworten mit Zitat      
Tausend Dank, es waren wirklich die Leeren Zeilen. Hätte ich nicht gedacht...

Eine letzte Frage habe ich: Wie schaffe ich, dass der Text von der Höhe her genau mittig neben der Linie haben möchte ? Bei der Verbindung von 1 nach 5 ist der Text nämlich zu weit oben.
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 907
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 26.02.2017, 22:54     Titel:
  Antworten mit Zitat      
DEVV hat Folgendes geschrieben:
Wie schaffe ich, dass der Text von der Höhe her genau mittig neben der Linie haben möchte ? Bei der Verbindung von 1 nach 5 ist der Text nämlich zu weit oben.


In meinem Lösungsversuch benutze ich die Option pos.

Code • Öffne in Overleaf
child{
   child[missing]
   child{node[node1]{1. rel\_source
}
      child{node{\includegraphics[width=4em]{example-image}}
         edge from parent node[right] {$\mathbf{2171,938*10^4}$}
      }
% Die Leerzeile erzeugt ohne Kommentarzeichen eine Fehlermeldung
   }
   edge from parent node[pos=1, right=2mm] {Text}% <- eingefügt
}
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de