如何在 tikz 中绘制基于通信的图表?

如何在 tikz 中绘制基于通信的图表?

我想画这样的图。有没有 tikz 包可以画这样的图?有没有相同的示例 tex 代码?我该如何画这样的图?

在此处输入图片描述

我尝试绘制它。我的tex代码如下:

\documentclass[a4paper,10pt]{article}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage[margin=15mm]{geometry}
\usetikzlibrary{shapes,arrows,fit,calc,positioning}
\usepackage{scalefnt}

\begin{document}


\begin{tikzpicture}
[my shape/.style={rectangle split, rectangle split parts=#1, draw}]
\tikzset{input/.style={}}

\draw (0,0)--++(0,-10cm);
\draw (5,0)--++(0,-10cm);

\draw[->] (0,-1) coordinate (a) -- 
node [near end,sloped, above=2mm,my shape=2, rectangle split horizontal]    (n3) {0\nodepart{two}$m_0$}
node [left=3 cm of n3,sloped,above=2mm,my shape=2, rectangle split horizontal]  (n4) {0\nodepart{two}$m_0$}
++(5,-.5) coordinate (b);

\node [left =1mm of a,my shape=2, rectangle split horizontal] (n1) {0\nodepart{two}$m_0$};
\coordinate [below=1mm of b] (c) ;

\node [right=1mm of c, my shape=2, rectangle split horizontal] (n3)  {0\nodepart{two}$m_0$};
\coordinate [below=1mm of c] (d);
\draw[->] (d) -- ++(-5,-.5);

\path (a)--node[cross out,draw=red]{} (b);

\end{tikzpicture}


\end{document}

我得到了类似这样的信息: 在此处输入图片描述

我想让箭头上方的节点与垂直线的距离相同。我该怎么做?

有什么帮助吗?

答案1

这里有一个可能的解决方案。Tikz 非常灵活,您可以找到更多。我所做的是首先绘制垂直线并使用它们将节点放置在左侧和右侧。实际上,我绘制了第一个箭头,并将起始和结束坐标命名为 a 和 b。Paquet 节点相对于 a 和 b 放置。希望您能理解代码。

如果红光束表示链接断开或存在传输问题,我更愿意使用一些符号来代替链接。在这个例子中,我使用了一个cross out节点。

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,fit,calc,positioning}
\usepackage{scalefnt}

\begin{document}

\begin{tikzpicture}
[my shape/.style={rectangle split, rectangle split parts=#1, draw}]
\tikzset{input/.style={}}

\draw (0,0)--++(0,-10cm);
\draw (4,0)--++(0,-10cm);

\draw[->] (0,-.5) coordinate (a) -- 
node [near end,sloped, above=2mm,my shape=2, rectangle split horizontal] (n3) {0\nodepart{two}$m_0$}
++(4,-.5) coordinate (b);

\node [left =1mm of a,my shape=2, rectangle split horizontal] (n1) {0\nodepart{two}$m_0$};

\node [right=1mm of b, my shape=2, rectangle split horizontal] (n2)  {0\nodepart{two}$m_0$};

\draw[->,red] (b) -- ++(-4,-.5);

\path (a)--node[cross out,draw=red]{} (b);

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容