我想要使用 TikZ 制作一个非常简单的流程图。
如果您能提供一个简单的代码,我将非常感激。
对于颜色,黑色和白色就可以。
例如,下面是一个简单的例子。但我想让块的宽度与文本的宽度相同。
\tikzstyle{block} = [draw,rectangle,thick,minimum height=2em,minimum width=2em] \tikzstyle{line} = [draw, very thick, color=black!50, -latex']
\begin{tikzpicture}[node distance = 2cm, auto]
\node [block] (init) {initialize model};
\node [block, below of=init] (expert) {expert};
\path [line] (init) -- (expert);
\end{tikzpicture}
答案1
使用tikzset
而不是tikzstyle
,参见此处:应该使用 \tikzset 还是 \tikzstyle 来定义 TikZ 样式?。
使用below=... of
而不是below of=
,这样您还可以设置节点之间的距离。
要使所有块具有相同的大小,请使用text width=10em
您喜欢的任何宽度。
如果您想移动两个块之间的线,您可以使用xshift=...
。
如果想要大箭,请更改line width=...
,如果想要缩短箭,请将 用作shorten >=...
箭尖,shorten <=...
将 用作箭尾。
正如 cfr 告诉您的那样,不要使用,arrows
但arrows.meta
您也可以使用来更改箭头尖的外观[length=..., width=...]
。我选择是Triangle
因为与您发布的图像相似,但您也可以选择Stealth
或Latex
。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, positioning}
\tikzset{%
block/.style = {draw=cyan,rectangle,thick,
minimum height=2em, text width=10em, align=center},
line/.style = {draw=cyan, line width=4pt,
-{Triangle[length=10pt, width=10pt]}, shorten >=2pt, shorten <=2pt},
}
\begin{document}
\begin{tikzpicture}[node distance = 2cm, auto]
\node [block] (init) {initialize model};
\node [block, below=30pt of init] (expert) {expert};
\path [line] (init) -- (expert);
\node [block, below=30pt of expert] (third) {third};
\path [line] ([xshift=-1em]expert.south) -- ([xshift=-1em]third.north);
\node [block, below=30pt of third] (fourth) {fourth};
\path [line] ([xshift=1em]third.south) -- ([xshift=1em]fourth.north);
\end{tikzpicture}
\end{document}