
これcfrによるきれいなソリューションは、使用を可能にしますレベル2のノードを注釈のようにスタイル設定する。
非常に異なるアプローチこれですまたはそれです追加のノードが追加される場所外マインドマップそのもの。
しかし、私はアンカーに苦労しており、level 2
次のようにもっと調和のとれた外観になるようにしています (期待される結果を示すためにペイントを不正に使用しました)。
アイデアとしては、動くアンカー(マインドマップの左側のノードeast
用、右側のノード用のアンカー?より細かく、レベル 1 からのパスをたどるように傾斜させる?何が実現可能かわかりません)を用意することだと思います。とはいえ、ケースを区別する方法の出発点を得ることができません :/level 2
west
% 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}
答え1
パスをレベル 2 のエントリと完全に揃えたい場合は、手動で調整する必要があります。これは、エントリのテキスト幅、最小サイズ、アンカーによって異なるためです。 に 2 つの引数を追加し、non-concept/.style
にもう 1 つの引数を追加しますcncc/.style
。 ではnon-concept/.style
、最初の引数 #1 はテキスト幅を指定し、2 番目の引数 #2 はレベル 2 ノードの最小サイズを指定します。 ではcncc/.style
、最初の引数 #1 はレベル 1 の親ノードのアンカーのままで、2 番目の引数 #2 はレベル 2 の子ノードのアンカーです。また、効果を明示的に確認するために、各レベル 2 エントリにフレームを追加します ( の はdraw
フレームを作成しないことをコメントします)。これらの引数を調整して、図を質問の予想される結果に近づけることができます。また、場合によっては、 を使用してレベル 2 エントリの位置を手動で調整するnon-concept/.style
必要があることもあります(例)。shift
child[shift={(2.5cm,-3cm)},level distance=5cm]
コードは次のとおりです:
% 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}