
이것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 항목과 완벽하게 정렬하려면. 수동으로 조정해야 합니다. 텍스트 너비, 최소 크기 및 항목 앵커에 따라 달라지기 때문입니다. 에 두 개의 인수를 추가 non-concept/.style
하고 에 인수를 하나 더 추가합니다 cncc/.style
. 에서 non-concept/.style
첫 번째 인수 #1은 텍스트 너비를 지정하는 것이고 두 번째 인수 #2는 레벨 2 노드의 최소 크기를 지정하는 것입니다. 에서 cncc/.style
첫 번째 인수 #1은 여전히 수준 1 상위 노드의 앵커이고, 두 번째 인수 #2는 수준 2 하위 노드의 앵커입니다. 또한 효과를 명시적으로 확인하기 위해 각 레벨 2 항목에 프레임을 추가합니다(주석에는 draw
프레임 non-concept/.style
이 생성되지 않습니다). 해당 인수를 조정하여 질문의 예상 결과에 가까운 수치를 만들 수 있습니다. 또한 어떤 경우에는 shift
레벨 2 항목의 위치를 수동으로 조정하기 위해 를 사용해야 할 수도 있습니다 (예: 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}