I'm running MiKTeX 2.9, on a Windows 7 machine. My pdflatex
compilation log lists:
pgf 2008/01/15 v2.10 (rcs-revision 1.12)
I am using TikZ's mindmap
library to draw some graphics and I quite like the output.
I am trying to tweak the circle connection bar style of the connector between two nodes. In particular I'd like change the thickness of the connection bar between nodes at one level (but not any others).
The first image displays the entire example mindmap (built from the working example below)
The second image displays the normal connectors created by the mindmap library's default styles
The third image is a mockup of the kind of effect I am trying to create.
I've read the documentation in the pgf
manual (ver 2.10) for the mindmap
library, and have tried to override the settings for the circle connection bar using the decoration option (e.g decoration={start radius=1cm,end radius=.5cm,amplitude=2mm,angle=30}
), however no matter what value I give the amplitude setting I see no change in the output. Changes to angle and start/end radius do effect the first and last part of the connector, but the rectangle in between never changes width.
I've had success (in the sense of effecting a change) by:
placing the decoration option before a node's children (thereby effecting all children and grandchildren), e.g.
\node [root concept] {Team\\Foo}[decoration={angle=45}]
specifying a
\path (node1) to[circle connection bar] (node2);
explicitly between two named nodes (not ideal, as explicitly drawing connections eliminates a large benefit of using the mindmap library in the first place)and as part of the
every circle connection bar
style (specified in the tikzpicture or scope)
I don't want to have to explicitly specify starting and ending radii, as the mindmap
library normally calculates these automatically and I'd like to be able to change the node sizes and have the connection bars adjust without anymore manual intervention (just with thicker lines than normal).
My questions come down to these:
How do I change the amplitude/thickness of the connection bar (perhaps this will require also explicitly setting an angle)?
How do I apply this modification to the connections at one level only? I can set the modification at any level and effect all levels below, but can I either restrict the modification to only one level to begin with, or otherwise reset the connection bar styles back to default for lower levels (i.e. after explicitly setting
decoration={...}
, how do I undo that)?
Working example:
\documentclass[tikz, preview=true, border=2mm]{standalone}
\renewcommand*\familydefault{\sfdefault}
\usepackage{tikz}
\usetikzlibrary{mindmap,trees,shadows}
\begin{document}
\begin{tikzpicture}
[decoration={start radius=1cm, end radius=.5cm,amplitude=3mm,angle=30}]
% Define experience colors
\colorlet{afcolor}{blue!50}
\colorlet{mdcolor}{red!75}
\colorlet{nmndcolor}{orange!80}
\colorlet{nmescolor}{teal!70!green}
\colorlet{citscolor}{violet!75}
\begin{scope}[mindmap,
every node/.style={concept, circular drop shadow, minimum size=0pt,execute at begin node=\hskip0pt, font=\bfseries},
root concept/.append style={
concept color=black, fill=white, line width=1.5ex, text=black, font=\huge\scshape\bfseries,},
level 1 concept/.append style={font=\bfseries},
text=white,
partner/.style={concept color=blue!80!black},
air force/.style={concept color=afcolor},
metadata/.style={concept color=mdcolor},
nmnd/.style={concept color=nmndcolor},
nmes/.style={concept color=nmescolor},
cits/.style={concept color=citscolor},
grow cyclic,
level 1/.append style={level distance=6.2cm,sibling angle=45},
level 2/.append style={level distance=3cm,sibling angle=45}]
\node [root concept] (team) {Team\\Foo}[rotate=202.5] % root
child [partner] { node {Comp 8}
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 1}
child [metadata] { node {\small Metadata} }
child [air force] { node {\small Air Force} }
child [nmnd] { node {\small NM/ND} }
child [cits] { node {\small CITS} }
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 2}
child [metadata] { node {\small Metadata} }
}
child [partner] { node (comp3) {Comp 3}
child [air force] { node {\small Air Force} }
child [nmnd] { node {\small NM/ND} }
child [cits] { node (leftmost) {\small CITS} }
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 4}
child [air force] { node {\small Air Force} }
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 5}
child [metadata] { node {\small Metadata} }
child [nmnd] { node {\small NM/ND} }
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 6}
child [air force] { node {\small Air Force} }
child [nmnd] { node {\small NM/ND} }
child [nmes] { node {\small NM/ES} }
}
child [partner] { node {Comp 7}
child [air force] { node {\small Air Force} }
child [nmnd] { node {\small NM/ND} }
child [nmes] { node {\small NM/ES} }
};
\end{scope}
\begin{scope}[xshift=-4.5cm, yshift=-10.5cm,every node/.style={align=left,text=black}]
\matrix[row sep=0pt,column sep=1mm, align=left, nodes={align=left, anchor=west}] {
\fill [afcolor] (0,.25ex) circle (1ex); & \node{Air Force Experience};\\
\fill [mdcolor] (0,.25ex) circle (1ex); & \node{Metadata Environments Development Experience};\\
\fill [nmndcolor] (0,.25ex) circle (1ex); & \node{Network Management and Network Defense Experience};\\
\fill [nmescolor] (0,.25ex) circle (1ex); & \node{Network Management and Enterprise Services Experience};\\
\fill [citscolor] (0,.25ex) circle (1ex); & \node{CITS Information Transport Systems Experience};\\
};
\end{scope}
\end{tikzpicture}
\end{document}
!
in front of it to turn it into a link. A moderator or another user with edit privileges can then reinsert the!
to turn it into an image again until you get more rep points.amplitude
key doesn't do anything in my experiments …