Mindmap - bedingte Verankerung für Level 2

Mindmap - bedingte Verankerung für Level 2

DasDie hübsche Lösung von cfr ermöglicht die Nutzungdie Knoten auf Ebene 2, um sie wie Anmerkungen zu formatieren.

Ganz anderer Ansatz alsDieses hieroderDas hierwo zusätzliche Knoten hinzugefügt werdendraußendie Mindmap selbst.

Ich kämpfe jedoch mit dem Anker, level 2damit es harmonischer aussieht, wie das Folgende (ich habe bei der Farbe geschummelt, um das erwartete Ergebnis zu zeigen).

Ich stelle mir vor, dass die Idee darin besteht, einen beweglichen Anker zu haben ( eastfür level 2Knoten auf der linken Seite, westAnker auf den rechten Knoten der Mindmap? Mehr Granularität, geneigt, um dem Pfad von Ebene 1 zu folgen? Ich weiß nicht, was machbar wäre). Trotzdem kann ich keinen Ausgangspunkt finden, wie man die Fälle unterscheiden könnte :/

Bildbeschreibung hier eingeben

% original MWE from cfr.
\documentclass[border=10pt]{standalone}
\usepackage[condensed,math]{iwona}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{tikz}

\usetikzlibrary{mindmap,trees,positioning}
\tikzset{
  set angles for level/.style={level #1/.append style={sibling angle=360/(\the\tikznumberofchildren+4)}},
  level/.append code={
    \edef\tempa{#1}\edef\tempb{1}
    \ifx\tempa\tempb\tikzset{level 1/.append style={sibling angle=360/\the\tikznumberofchildren}}\else\tikzset{set angles for level=#1}\fi},
%     set angles for level=#1},% solution 1
  non-concept/.style={
    rectangle,
    text width=15em,
    text=black,
    align=left,
    font=\large,
  },
  cncc/.style={ edge from parent path={ (\tikzparentnode.#1) to [bend right] (\tikzchildnode)   } },
}
\begin{document}
\begin{tikzpicture}[level 1 concept/.append style={font=\large, level distance=150}]
  \path[mindmap, concept color=Aquamarine, grow cyclic]
  node[concept] {ICF Core \\ Competencies}%[clockwise from=45]
  child[concept color=blue!20!white] {
    node[concept] (def) {Setting the Foundation}
    child[level distance=5cm] { node[non-concept] {Meeting Ethical Guidelines \& Professional Standards} edge from parent[cncc=west] }
    child[level distance=5cm] { node[non-concept] {Establishing the Coaching Agreement} edge from parent[cncc=west] }
  }
  child[concept color=Pink]  { node[concept] {Co-creating the \\ Relationship} 
    child[level distance=5cm] { node[non-concept] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc=south] }
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=south] } 
  }
  child[concept color=Bisque]{ node[concept] {Communicating Effectively} 
    [clockwise from=0]
    child[level distance=5cm] { node[non-concept] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc=east] }
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=east] }    
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=south] }    
  }
  child[concept color=Cyan]  { node[concept] {Facilitating Learning \& Results} 
    [clockwise from=90]
    child[level distance=5cm] { node[non-concept] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc=west] }
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=west] } 
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=north] } 
    child[level distance=5cm] { node[non-concept] {Coaching Presence} edge from parent[cncc=east] }     
  };
\end{tikzpicture}
\end{document}

Antwort1

Wenn Sie den Pfad perfekt mit den Einträgen der Ebene 2 ausrichten möchten, müssen Sie sie manuell anpassen. Denn es hängt von der Textbreite, Mindestgröße und den Ankern der Einträge ab. Ich füge zwei Argumente in non-concept/.styleund ein weiteres Argument in hinzu cncc/.style. In non-concept/.styledient das erste Argument Nr. 1 zur Angabe der Textbreite und das zweite Argument Nr. 2 zur Angabe der Mindestgröße des Knotens der Ebene 2. In cncc/.styleist das erste Argument Nr. 1 noch immer der Anker des übergeordneten Knotens der Ebene 1, das zweite Argument Nr. 2 ist der Anker des untergeordneten Knotens der Ebene 2. Ich füge auch jedem Eintrag der Ebene 2 Rahmen hinzu, um die Wirkung explizit zu sehen (Kommentar drawin non-concept/.styleerstellt keine Rahmen). Sie können diese Argumente anpassen, damit die Abbildung dem erwarteten Ergebnis in Ihrer Frage nahe kommt. In manchen Fällen müssen Sie möglicherweise auch shiftdie Positionen der Einträge der Ebene 2 manuell anpassen (z. B. child[shift={(2.5cm,-3cm)},level distance=5cm]).

Hier ist der Code:

% original MWE from cfr.
\documentclass[border=10pt]{standalone}
\usepackage[condensed,math]{iwona}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{tikz}

\usetikzlibrary{mindmap,trees,positioning}
\tikzset{
set angles for level/.style={level #1/.append style={sibling angle=360/(\the\tikznumberofchildren+4)}},
level/.append code={
\edef\tempa{#1}\edef\tempb{1}%
\ifx\tempa\tempb\tikzset{level 1/.append style={sibling angle=360/\the\tikznumberofchildren}}\else\tikzset{set angles for level=#1}\fi},
%     set angles for level=#1},% solution 1
non-concept/.style 2 args={
draw, % comment to make no frames
minimum size=#2,
text width=#1,
text=black,
align=left,
font=\large,
},
cncc/.style n args={2}{ edge from parent path={ (\tikzparentnode.#1) to [bend right] (\tikzchildnode.#2)   } },
}
\begin{document}
\begin{tikzpicture}[level 1 concept/.append style={font=\large, level distance=150}]
\path[mindmap, concept color=Aquamarine, grow cyclic] 
node[concept] {ICF Core \\ Competencies}%[clockwise from=45]
child[concept color=blue!20!white] {
node[concept] (def) {Setting the Foundation}
child[level distance=5cm] { node[non-concept={14em}{1cm}] {Meeting Ethical Guidelines \& Professional Standards} edge from parent[cncc={west}{north}] }
child[shift={(-2cm,1.5cm)},level distance=5cm] { node[non-concept={12em}{1cm}] {Establishing the Coaching Agreement} edge from parent[cncc={west}{north west}]}
}
child[concept color=Pink] { 
node[concept] {Co-creating the \\ Relationship} 
child[level distance=5cm] { node[non-concept={14em}{1cm}] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc={south}{north west}] }
child[level distance=6cm] { node[non-concept={9em}{0.5cm}] {Coaching Presence} edge from parent[cncc={south}{south west}] } 
}
child[text width=7em,concept color=Bisque]{ node[concept] {Communicating Effectively} [clockwise from=0]
child[shift={(2.5cm,-3cm)},level distance=5cm] { node[non-concept={14em}{1cm}] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc={east}{south west}] }
child[level distance=5cm] { node[non-concept={9em}{0.5cm}] {Coaching Presence} edge from parent[cncc={east}{west}] }    
child[level distance=5cm] { node[non-concept={9em}{0.5cm}] {Coaching Presence} edge from parent[cncc={south}{north west}] }    
}
child[concept color=Cyan]  { node[concept] {Facilitating Learning \& Results} 
[clockwise from=90]
child[level distance=5cm] { node[non-concept={14em}{1cm}] {Establishing Trust \& Intimacy with the Client} edge from parent[cncc={west}{north}] }
child[level distance=5cm] { node[non-concept={8.8em}{0.5cm}] {Coaching Presence} edge from parent[cncc={west}{north east}] } 
child[level distance=5cm] { node[non-concept={8.8em}{0.5cm}] {Coaching Presence} edge from parent[cncc={north}{east}] } 
child[level distance=5cm] { node[non-concept={8.8em}{0.5cm}] {Coaching Presence} edge from parent[cncc={east}{south east}] }     
};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen