序列图

序列图

你能帮帮我吗?我一直在寻找如何制作类似于此图的图表。谢谢。

在此处输入图片描述

答案1

欢迎来到 TeX.SE!!!

您可以创建一个宏来绘制垂直线上方和下方的弧线。如果您只想为两种弧线使用一个宏,则需要本地更改轴,即y=#3 cm在我的示例中,参数#3只能取值 1/-1。

完整的解决方案可能是:

\documentclass[tikz,border=1cm]{standalone}
\newcommand{\myarc}[3] % start, end, 1/-1 (up, down) 
{
  \pgfmathsetmacro\l{int(#2-#1+1)} % label
  \draw[y=#3 cm,red] (#1-0.2,0.5) to[out=30*#3,in=150*#3] node[midway,yshift=#3*0.25cm] {$\l$} (#2+0.2,0.5) ;
}

\begin{document}
\begin{tikzpicture}[line cap=round]
% vertical bars
\foreach\i in {1,...,16}
  \draw[thick] (\i,-0.5) --++ (0,1);
% top arcs
\myarc {2} {5}{1}
\myarc {6} {9}{1}
\myarc{11}{14}{1}
\myarc{15}{16}{1}
% bottom arcs
\myarc {3} {6}{-1}
\myarc {8}{11}{-1}
\myarc{13}{15}{-1}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容