如何避免 TikZ 思维导图中连接栏出现阴影

如何避免 TikZ 思维导图中连接栏出现阴影

我一直在努力画一个思维导图,其中连接条的阴影是避免并且连接栏的颜色由我指定。

例如,我想绘制两个由红色连接条连接的绿色概念。

这有许多应用,通常当条的颜色代表一个选项时(例如,红色条表示真,绿色条表示假)。

显然,总是存在手动命名节点并手动连接它们的肮脏选项,但这对大型思维导图来说是不可行的。我只想指定每个连接栏的颜色并避免阴影。

有人知道怎么做吗?

答案1

并不像我原先想象的那么简单(除非我忽略了什么东西),但下面我定义了一个connection bar color键来完成这项工作(我想严格来说应该称之为circle connection bar color)。

请注意,为了避免 TeX 数学不准确造成的间隙,连接条在节点顶部绘制得非常轻微,因此必须outer sep为概念节点设置以考虑到这一点(例如,0.5pt似乎大致在边缘上)。我已将其设置为存在间隙,因为我认为在这种情况下它看起来相当不错。

连接栏颜色也可由任何子节点继承。

\documentclass[border=1pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}

\tikzset{%
    connection bar color/.style={
        every circle connection bar/.append style={
            append after command={[fill=#1]}
        }
    },
    connection false/.style={
        connection bar color=red!30!purple,
    },
    connection true/.style={
        connection bar color=green!40!orange
    },  
}

\tikz[mindmap, concept color=yellow!50!orange, 
    every concept/.style={
        text=black,
        font=\sf,
        outer sep=1.5pt% Have to determine by trial and error
    },
    level 1 concept/.append style={
        level distance=5cm
    },
    level 2 concept/.append style={
        level distance=4cm
    }
]
\node [concept] {Like cheese?}
    child [grow=30, connection true] { 
        node [concept] {Whiskers?}
            child [grow=30] {% NB connection true inherited
                node [concept] {Mouse}
            }
            child [grow=-30, connection false] {
                node  [concept] {Human}
            }
    }
    child [grow=-30, connection false] {
        node  [concept] {Cat}
    };

\end{document}

在此处输入图片描述

相关内容