更改智能图中的箭头颜色

更改智能图中的箭头颜色

smartdiagram包似乎有一个默认约定,即圆形图中的箭头采用目的地块。有没有办法选择颜色来源块作为箭头的颜色。例如,在此示例中

\documentclass{article}
\usepackage{tikz}
\usepackage{smartdiagram}
\begin{document}
\smartdiagramset{set color list={red!50,orange!50,green!50}}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}
\end{document}

我希望从“红色”到“橙色”的箭头是红色而不是橙色。换句话说,我希望所有箭头颜色顺时针前进一步。

是否有单一密钥或其他简单选项可以执行此操作?如果没有,我可以通过此论坛提出建议吗?

答案1

代码

\documentclass[tikz,convert=false]{standalone}
\usepackage{smartdiagram}
\makeatletter
\smartdiagramset{
  flip arrow colors/.style={
    /tikz/diagram arrow type/.prefix code={%
      \edef\col{\@nameuse{color@\xi}}%
    }
  }
}
\makeatother
\begin{document}
\smartdiagramset{set color list={red!50,orange!50,green!50}}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}

\smartdiagramset{flip arrow colors}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}
\end{document}

输出

在此处输入图片描述 在此处输入图片描述

答案2

并不是像要求的那样是“简单钥匙”,但也不是魔法,因为不是那么复杂。有两件事要做。

  1. 的重新定义arrow style

  2. 改变节点的顺序。

结果可能看起来像这样。

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{smartdiagram}

\smartdiagramset{arrow style=->}

\begin{document}
  \smartdiagramset{set color list={orange!50,red!50,green!50}}
  \smartdiagram[circular diagram:clockwise]{Orange,Red,Green}
\end{document}

问题是现在clockwise有点烦人。这是由于arrow style=<-对箭头方向的初始定义非常规造成的。


在此处输入图片描述

相关内容