如何使用 tikzpicture 制作圆角方形路径?

如何使用 tikzpicture 制作圆角方形路径?

我正在尝试制作一个包含多个节点的图表,我认为如果在节点之间使用圆角方形箭头,阅读起来会更清晰。我在下图中绘制了一个包含大多数我需要使用的弯曲箭头类型的示例:

图表示例

我尝试使用“.. 控制 (x,y) 和 (z,w)..”但结果太圆了。其实这样还可以,但我认为如果改为使用圆角方形箭头会更好。

有人能告诉我如何做这些吗,当然是使用 tikzpicture 环境。

提前致谢!

答案1

试试这个代码;

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line width=3pt,rounded corners=3pt]
 \draw (1,2) rectangle (4,4);
 \draw (1,6) rectangle (4,8);
 \draw (1,10) rectangle (4,12);
 \draw (7,15) rectangle (10,17);
 \draw (12,6) rectangle (15,8);
 \draw[-latex] (2.5,12)--(2.5,16)--(7,16);
 \draw[-latex] (4,7.5)--(8.5,7.5)--(8.5,15);
 \draw[-latex] (4,6.5)--(12,6.5);
 \draw[-latex] (4,3.5)--(13.5,3.5)--(13.5,6);
 \draw[-latex] (4,2.5)--(16,2.5)--(16,16)--(10,16);
\end{tikzpicture}
\end{document}

输出为:

在此处输入图片描述

编辑(针对 Fractal Admirer):为了更好地查看放置线条的位置,请在 tikzpicture 代码中添加以下代码行:

\draw[gray!15,line width=.2pt] (0,0) grid (17,17.5);
 \foreach \x in {0,...,17}{%
    \node at (\x,0) () {\tiny \bfseries \x};
    \node at (0,\x) () {\tiny \bfseries \x};
    };

因此你有这个:

在此处输入图片描述

完成后您可以删除或注释相同的行。

答案2

尽管 Raffaele Santoro 的回答很棒,并且重现了原始方案。我建议使用nodespositioning库来轻松生成像这样的图形。

有什么区别?Arectangle只是一条线,而 anode是一个具有名称的实体,稍后可以引用。这样,您不需要知道链接线的确切坐标,而只需知道节点锚点即可。

Postioning库定义了一种相对于其他节点放置节点的机制。同样,我们不需要指定精确的坐标,而是指定与另一个节点的距离。

以下是绘制原始方案的替代代码,完全不指定坐标。希望对您有所帮助。

\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{tikzpicture}[
    >={latex},
    line width=3pt, rounded corners=3pt,
    box/.style={draw, minimum width=3cm, minimum height=2cm}]
 \node[box] (1) {1};
 \node[box, above= 2cm of 1] (2) {2};
 \node[box, above= 2cm of 2] (3) {3};
 \node[box, above right=3cm and 3cm of 3] (4) {4};
 \node[box, right=8cm of 2] (5) {5};

 \draw[->] (3)|-(4);
 \draw[->] ([yshift=-5mm]2.north east)-|(4);
 \draw[->] ([yshift=5mm]2.south east) coordinate(aux)-- (aux-|5.west);
 \draw[->] ([yshift=-5mm]1.north east)-|(5);
 \draw[->] ([yshift=5mm]1.south east)-|([xshift=5mm]5.east)|-(4.east);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容