Nachdem ich hier Hilfe bekommen habe wie ich meine Grafik erstelle, hader ich grade mit dem Hintergrund der labels. Ich würde gerne den Hintergrund einzelner labels weiß machen, damit die Verbindungslinien nicht durch die Schrift gehen. Wenn ich aber in den every label-Optionen die Füllung für alle ändere, dann sind unnötige Lücken in den Linien. Leider komm ich allein nicht weiter und auch mit der Doku nicht richtig zurecht. Open in writeLaTeX
\documentclass{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} % Codierung und Umlaute \usepackage{setspace} \usepackage{tikz} % Tikz Picture Paket \usetikzlibrary{matrix} \tikzset{zeilenabstand/.style={% execute at begin node=\begin{spacing}{#1}\hspace{0pt},% execute at end node=\vspace{-\ht\strutbox}\end{spacing}}} % Eigener Stil Zeilenabstand \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ & & & & & & & \\ {} & & {} & & {} & & {} \\ & & {} & & {} & & \\ {} & & {} & & {} & & {} \\ {} & {} & {} & {} & {} & {} & {}\\ }; % Verbindungslinien: \draw (m-2-1) -- (m-3-3) -- (m-4-1) -- (m-5-3); % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center, execute at begin node=\hspace{0pt},zeilenabstand=0.8},label distance=3.5pt] \foreach \pos/\Text in { 2-1/Marktdurchdringung, 2-3/Marktentwicklung, 2-5/Produktentwicklung, 2-7/Diversifikation, 3-3/Präferenz $\;$ \\, 3-5/Preis-Mengen, 4-1/(total), 4-3/(partial), 4-5/(total), 4-7/(partial), 5-1/Lokal, 5-2/Regional, 5-3/Über-regional, 5-4/National, 5-5/Multinational, 5-6/International, 5-7/Weltmarkt} \path (m-\pos) [late options={label={[name=m-\pos-label]\Text}},]; \end{scope} \path (m-4-1-label.north) -- node [above,fill=white] {Massenmarkt} (m-4-3-label.north); \path (m-4-5-label.north) -- node [above] {Segmentierung} (m-4-7-label.north); \end{tikzpicture} \end{document} |
Wenn die Label eine unterschiedliche Farbe haben sollen, dann kann man in der Open in writeLaTeX
\documentclass[margin=5mm,tikz]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{tikz} \usetikzlibrary{matrix} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ {} & & {}\\ & & {}\\ {} & & {}\\ }; % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center},label distance=3.5pt] \foreach \pos/\Text/\farbe in { 1-1/M/yellow, 1-3/M/green, 2-3/P/red!50, 3-1/(total)/orange, 3-3/(partial)/black!20 } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=\farbe]\Text}},]; \end{scope} \end{tikzpicture} \end{document} Da in deinem Beispiel aber nur entweder keine Füllung oder eine Füllung mit weiß zur Auswahl stehen, ist es vermutlich bequemer zwei Schleifen zu verwenden und die Label bei der entsprechenden einzufügen: Open in writeLaTeX
\documentclass[ngerman,margin=5mm]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{babel} \usepackage{setspace} \usepackage{tikz} \usetikzlibrary{matrix} \tikzset{zeilenabstand/.style={% execute at begin node=\begin{spacing}{#1}\hspace{0pt}, execute at end node=\vspace{-\ht\strutbox}\end{spacing}}} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ & & & & & & & \\ {} & & {} & & {} & & {} \\ & & {} & & {} & & \\ {} & & {} & & {} & & {} \\ {} & {} & {} & {} & {} & {} & {}\\ }; % Verbindungslinien: \draw (m-2-1) -- (m-3-3) -- (m-4-1) -- (m-5-3); % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center,%draw, zeilenabstand=0.8},label distance=3.5pt] % transparenter Hintergrund \foreach \pos/\Text in { 2-1/Marktdurchdringung, 2-3/Marktentwicklung, 2-5/Produktentwicklung, 2-7/Diversifikation, %3-3/Präferenz $\;$ \\, 3-5/Preis-Mengen, 4-1/(total), 4-3/(partial), 4-5/(total), 4-7/(partial), 5-1/Lokal, %5-2/Regional, %5-3/Über-regional, 5-4/National, 5-5/Multinational, 5-6/International, 5-7/Weltmarkt} \path (m-\pos) [late options={label={[name=m-\pos-label]\Text}},]; % weißer Hintergrund \foreach \pos/\Text in { 3-3/Präferenz, 5-2/Regional, 5-3/Über-regional } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=white,inner xsep=0pt,]\Text}},]; % \end{scope} \path (m-4-1-label.north) -- node [above,fill=white] {Massenmarkt} (m-4-3-label.north); \path (m-4-5-label.north) -- node [above] {Segmentierung} (m-4-7-label.north); \end{tikzpicture} \end{document} Die Label in der untersten Zeile sind eigentlich zu breit. Das wird sichtbar, wenn man die Option beantwortet 10 Feb '14, 15:33 esdd Du bist der Held meiner Bachelorarbeit! Danke! Hatte die erste Variante so sogar auch mal, nur bei path das "fill" nach "Text" gesetzt, deswegen hat es nicht funktioniert. Nochmal riesen Danke!
(10 Feb '14, 17:24)
BineMaja
|