Stil einzelner Pfadbeschriftungen ändern?

Stil einzelner Pfadbeschriftungen ändern?

Ich arbeite an der Erstellung eines Pfaddiagramms mit Tikzedt.

Das Problem, auf das ich stoße, besteht darin, dass die Pfadbeschriftungen auf diesen Zeilen, die sehr nahe beieinander liegen, sich mit den anderen Zeilen überlappen und dadurch unleserlich werden. (siehe Abbildung unten).

Ich denke, es müsste eine Möglichkeit geben, den weißen Hintergrund um jedes der Etikett, das mein aktueller Code erstellt, zu erweitern.

Die Lösungen, die ich bisher in diesem Forum gesehen habe, fügen Code in den Header ein, der die Stile aller Knoten ändert, die Pfadbeschriftungen sind, oder aller Knoten. Ichnichtwill das, weil dies eine Teilmenge eines viel komplexeren Diagramms mit vielen anderen Pfaden ist, die gleich bleiben sollen.

Vielleicht muss ich einen neuen Stil in der Kopfzeile erstellen und diesen Stil nur für die Pfadbeschriftungen verwenden? Ich bin mir nicht ganz sicher und würde mich über jeden Hinweis freuen.

Ich denke, es gibt eine einfache Lösung, habe aber noch nichts gefunden, was dieses Problem löst.

Ich bin mit den Feinheiten des Tikz-Codes nicht sehr vertraut (falls das nicht schon offensichtlich war) und arbeite derzeit auf der Grundlage einer Vorlage, die mir ein Kollege geschickt hat.

Bitte verzeihen Sie überflüssigen oder unsinnigen Code, da ich nicht ganz sicher bin, was ich tue.

Bildbeschreibung hier eingeben

Hier ist der Code, den ich zur Erstellung dieses Bildes verwendet habe:

\usetikzlibrary{positioning,shapes,arrows,backgrounds,decorations.markings}
\usetikzlibrary{decorations.pathreplacing}

% Define block styles
\tikzstyle{block} = [rectangle, draw, minimum width=12mm, minimum height=10mm,fill=white,inner xsep=5pt,inner ysep=8pt] 
\tikzstyle{line} = [-latex'] 
\begin{tikzpicture}[node distance = 3cm,font=\bfseries\boldmath\large,line width=1.25pt]

%Place time point 1 Observed variables
\node [block] (Y010A) {$Y_{01r}$};

%Time point 2 observed variables
\node [block, below=10 cm of Y010A] (Y020A) {$Y_{02r}$};
\node [block, below=0.5cm of Y020A] (Y120A)  {$Y_{12r}$};
\node [block, below=0.5cm of Y120A] (Y220A)  {$Y_{22r}$};
\node [block, below=0.5cm of Y220A] (Y320A)  {$Y_{32r}$};
\node [block, below=0.5cm of Y320A] (Y420A)  {$Y_{42r}$};
\node [block, below=0.5cm of Y420A] (Y520A)  {$Y_{52r}$};

%Place reference trait factors and paths
\node[draw, circle, right=4 cm of Y010A, minimum size=1.25cm](TrA) {$T_{r}$};
\path [line] (TrA.140) edge (Y010A.30);

\path [line] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.220) edge node[fill=white,inner sep=2pt,pos=0.1]{$\lambda_{8}$} (Y120A.30);
\path [line] (TrA.230) edge node[fill=white,inner sep=2pt,pos=0.12]{$\lambda_{9}$} (Y220A.30);
\path [line] (TrA.240) edge node[fill=white,inner sep=2pt,pos=0.14]{$\lambda_{10}$} (Y320A.30);
\path [line] (TrA.250) edge node[fill=white,inner sep=2pt,pos=0.16]{$\lambda_{11}$} (Y420A.30);
\path [line] (TrA.260) edge node[fill=white,inner sep=2pt,pos=0.18]{$\lambda_{12}$} (Y520A.30);

\end{tikzpicture}

Antwort1

Ich weiß nicht, ob das genau das ist, was Sie erwartet haben, aber hier ist ein Code-Schnipsel, der hilfreich sein könnte:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,backgrounds,decorations.markings}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
% Define block styles
\tikzstyle{block} = [rectangle, draw, minimum width=12mm, minimum height=10mm,fill=white,inner xsep=5pt,inner ysep=8pt]
\tikzstyle{line} = [-latex']
\tikzstyle{path_node_wide} = [fill=white, text width=11mm]
\begin{tikzpicture}[node distance = 3cm,font=\bfseries\boldmath\large,line width=1.25pt]

%Place time point 1 Observed variables
\node [block] (Y010A) {$Y_{01r}$};

%Time point 2 observed variables
\node [block, below=10 cm of Y010A] (Y020A) {$Y_{02r}$};
\node [block, below=0.5cm of Y020A] (Y120A)  {$Y_{12r}$};
\node [block, below=0.5cm of Y120A] (Y220A)  {$Y_{22r}$};
\node [block, below=0.5cm of Y220A] (Y320A)  {$Y_{32r}$};
\node [block, below=0.5cm of Y320A] (Y420A)  {$Y_{42r}$};
\node [block, below=0.5cm of Y420A] (Y520A)  {$Y_{52r}$};

%Place reference trait factors and paths
\node[draw, circle, right=4 cm of Y010A, minimum size=1.25cm](TrA) {$T_{r}$};
\path [line] (TrA.140) edge (Y010A.30);

\path [line, path_node_wide] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.220) edge node[path_node_wide, pos=0.2]{$\lambda_{8}$} (Y120A.30);
\path [line] (TrA.230) edge node[path_node_wide,pos=0.22]{$\lambda_{9}$} (Y220A.30);
\path [line] (TrA.240) edge node[path_node_wide,pos=0.24]{$\lambda_{10}$} (Y320A.30);
\path [line] (TrA.250) edge node[path_node_wide,pos=0.26]{$\lambda_{11}$} (Y420A.30);
\path [line] (TrA.260) edge node[path_node_wide,pos=0.28]{$\lambda_{12}$} (Y520A.30);

\end{tikzpicture}
\end{document}

Ich habe einen neuen Stil ( path_node_wide) definiert, den ich nur auf die gewünschten Knoten anwende. Was den weißen Hintergrund Ihrer Beschriftungen betrifft, gebe ich ausdrücklich an, text widthdass die Beschriftung die erwartete Größe hat (obwohl ich denke, dass es einen besseren Weg geben könnte ...). Ich habe Ihre Beschriftungen auch ein wenig verschoben, da ich sie an dieser Stelle besser lesbar fand).

Das Ergebnis findet ihr hier:

Bildbeschreibung hier eingeben

Ich hoffe, es hilft ein wenig.

verwandte Informationen