绘制排序网络

时间:2015-09-02 16:46:16

标签: python drawing latex graph-drawing sorting-network

有什么好的方法来绘制看起来像这篇帖子底部的排序网络?我们非常感谢python包或LaTeX typsetting包。

Sorting network with groupings Simple sorting network

1 个答案:

答案 0 :(得分:4)

很可能存在一些更具体的LaTeX软件包来绘制这样的网络,但您可以从查看TikZ软件包(manual)开始。这就是我(快速)使用TikZ复制你问题中两个图像的简单方法:

\documentclass[tikz,border=5mm]{standalone}

\begin{document}

\begin{tikzpicture}
%\fill [gray!15] (1.5,1.5) -- (2.5,1.5) -- (2.5,2.5) -- (1.5,2.5) -- cycle;
\foreach \a in {1,...,4}
  \draw[thick] (0,\a) -- ++(5,0);
\foreach \x in {{1,2},{1,4},{2,1},{2,3},{3,1},{3,2},{3,3},{3,4},{4,2},{4,3}}
  \filldraw (\x) circle (1.5pt);
\draw[thick] (1,2) -- (1,4);
\draw[thick] (2,1) -- (2,3);
\draw[thick] (3,1) -- (3,2);
\draw[thick] (3,3) -- (3,4);
\draw[thick] (4,2) -- (4,3);
\end{tikzpicture}

\end{document}

enter image description here

注释行(以%开头)会在背景上为您提供浅灰色矩形样本,就像您的第一张图片一样。