배열로 가득 찬 이미지를 그리는 방법

배열로 가득 찬 이미지를 그리는 방법

아래 이미지를 어떻게 만드는지 모르겠습니다.

여기에 이미지 설명을 입력하세요

내 코드를 봐

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
  \begin{tikzpicture}
    \coordinate (s) at (0,0);
    \foreach \num in {5,2,7,-5,16,12}{
      \node[minimum size=6mm, draw, rectangle] at (s) {\num};
      \coordinate (s) at ($(s) + (1,0)$);
    }
  \end{tikzpicture}
\end{document}

질문 : 다이어그램에 주어진 이미지를 그리는 방법은 무엇입니까?

답변1

다음 코드는 (다음 코드에서 많은 영감을 받았습니다.곤잘로 메디나의 답변)는 출발점이 될 수 있습니다.

여기에 이미지 설명을 입력하세요

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning,arrows.meta,arrows}

\tikzset{
mymat/.style={
  matrix of math nodes,
  text height=2.5ex,
  text depth=0.75ex,
  text width=3.25ex,
  align=center,
  row sep=-\pgflinewidth
  },
}
\begin{document}

\begin{tikzpicture}[>=latex]
\matrix[mymat,anchor=west,style={nodes=draw}]
at (0,0) 
(mat1)
{
1\\
2\\
3\\
4\\
5\\
6\\
7\\
};
\matrix[mymat,right=of mat1,anchor=south,style={nodes={draw}},yshift=1.5cm]
(mat2)
{
1\\
2\\
};
\matrix[mymat,right=of mat2,anchor=center,style={nodes={draw}}]
(mat3)
{
1\\
2\\
};
\matrix[mymat,right=of mat3,anchor=center,style={nodes={draw}}]
(mat4)
{
1\\
2\\
};
\matrix[mymat,right=of mat1,anchor=north,style={nodes={draw}},yshift=-1.5cm]
(mat5)
{
1\\
2\\
};
\matrix[mymat,right=of mat5,anchor=center,style={nodes={draw}}]
(mat6)
{
1\\
2\\
};
\matrix[mymat,right=of mat6,anchor=center,style={nodes={draw}}]
(mat7)
{
1\\
2\\
};
\path[->]
  (mat1-1-1.center) edge[bend left=50] node [left] {} (mat2-1-1.north west);
\path[->]
  (mat1-1-1.center) edge[bend left=60] node [left] {} (mat3-1-1.north west);
\path[->]
  (mat1-1-1.center) edge[bend left=70] node [left] {} (mat4-1-1.north west);
\path[->]
  (mat1-7-1.center) edge[bend left=50] node [left] {} (mat5-1-1.north west);
\path[->]
  (mat1-7-1.center) edge[bend left=60] node [left] {} (mat6-1-1.north west);
\path[->]
  (mat1-7-1.center) edge[bend left=70] node [left] {} (mat7-1-1.north west);
\end{tikzpicture}

\end{document}

관련 정보