如何定义标签颜色对于所有标签在 tikzpicture 中?实际文本颜色应保持黑色,只有标签应具有不同的颜色。
以下是 MWE:
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,trees,fit}
\begin{document}
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}]
\node [circle,draw] (z){$n$}
child {node [rectangle,draw] (a) {$\frac{n}{2}$}
child {node [circle,draw] (b) {$\frac{n}{2^2}$}
child {node {$\vdots$}
child {node [circle,draw] (d) {$\frac{n}{2^k}$}}
child {node [circle,draw] (e) {$\frac{n}{2^k}$}}
}
child {node {$\vdots$}}
}
child {node [circle,draw] (g) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node {$\vdots$}}
}
}
child {node [circle,draw, label=$LABEL$] (j) {$\frac{n}{2}$}
child {node [circle,draw] (k) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node {$\vdots$}}
}
child {node [circle,draw] (l) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node (c){$\vdots$}
child {node [circle,draw] (o) {$\frac{n}{2^k}$}}
child {node [circle,draw] (p) {$\frac{n}{2^k}$}
child [grow=right] {node (q) {$=$} edge from parent[draw=none]
child [grow=right] {node (q) {$O_{k = \lg n}(n)$} edge from parent[draw=none]
child [grow=up] {node (r) {$\vdots$} edge from parent[draw=none]
child [grow=up] {node (s) {$O_2(n)$} edge from parent[draw=none]
child [grow=up] {node (t) {$O_1(n)$} edge from parent[draw=none]
child [grow=up] {node (u) {$O_0(n)$} edge from parent[draw=none]}
}
}
}
child [grow=down] {node (v) {$O(n \cdot \lg n)$}edge from parent[draw=none]}
}
}
}
}
}
};
\node[draw,fill=black, fill opacity=.1, densely dotted,fit=(o) (p),inner sep=5pt,label=$LABEL$] {};
\end{tikzpicture}
\end{document}
答案1
我们可以利用每个标签风格,一种只适用于所有节点创建标签选项。
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,trees,fit}
\begin{document}
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1},
every label/.style={text=red}, % <------------
]
\node [circle,draw] (z){$n$}
child {node [rectangle,draw] (a) {$\frac{n}{2}$}
child {node [circle,draw] (b) {$\frac{n}{2^2}$}
child {node {$\vdots$}
child {node [circle,draw] (d) {$\frac{n}{2^k}$}}
child {node [circle,draw] (e) {$\frac{n}{2^k}$}}
}
child {node {$\vdots$}}
}
child {node [circle,draw] (g) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node {$\vdots$}}
}
}
child {node [circle,draw, label=$LABEL$] (j) {$\frac{n}{2}$}
child {node [circle,draw] (k) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node {$\vdots$}}
}
child {node [circle,draw] (l) {$\frac{n}{2^2}$}
child {node {$\vdots$}}
child {node (c){$\vdots$}
child {node [circle,draw] (o) {$\frac{n}{2^k}$}}
child {node [circle,draw] (p) {$\frac{n}{2^k}$}
child [grow=right] {node (q) {$=$} edge from parent[draw=none]
child [grow=right] {node (q) {$O_{k = \lg n}(n)$} edge from parent[draw=none]
child [grow=up] {node (r) {$\vdots$} edge from parent[draw=none]
child [grow=up] {node (s) {$O_2(n)$} edge from parent[draw=none]
child [grow=up] {node (t) {$O_1(n)$} edge from parent[draw=none]
child [grow=up] {node (u) {$O_0(n)$} edge from parent[draw=none]}
}
}
}
child [grow=down] {node (v) {$O(n \cdot \lg n)$}edge from parent[draw=none]}
}
}
}
}
}
};
\node[draw,fill=black, fill opacity=.1, densely dotted,fit=(o) (p),inner sep=5pt,label=$LABEL$] {};
\end{tikzpicture}
\end{document}