
Я новичок в Tikz и пытаюсь нарисовать очень специфичный график. Он содержит несколько функций, которые я не могу сделать с моими ограниченными знаниями. Это рисунок в виде сетки с некоторыми текстовыми спецификациями, как на прикрепленном изображении,. Это только первый шаг из серии рисунков, которые я хотел бы сделать, добавить анимацию. Проверяя другие посты, кажется, что это можно сделать с помощью tikz или pgfplot, но я не уверен, какой из них лучше, чтобы позже добавить анимацию, например, заполнение сетки.
На данный момент у меня есть следующий код, в котором я пытаюсь нарисовать сетку с помощью tikz в качестве первого шага, но он выглядит довольно утомительным.
\documentclass[24point]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[every node/.style={minimum size=.5cm-\pgflinewidth, outer sep=0pt}]
\draw[thin, step=0.5cm,color=black] (0,3) grid (6,0.5);
\node[] at (+0.25,+1.25) {0};
\node[] at (+0.75,+1.25) {0};
\node[] at (+1.25,+1.25) {0};
\node[] at (+1.75,+1.25) {0};
\node[fill=lightgray] at (+2.25,+1.25) {1};
\node[fill=lightgray] at (+2.75,+1.25) {1};
\node[fill=lightgray] at (+3.25,+1.25) {1};
\node[fill=lightgray] at (+3.75,+1.25) {1};
\node[fill=gray] at (+4.25,+1.25) {1};
\node[] at (+4.75,+1.25) {0};
\node[] at (+5.25,+1.25) {0};
\node[] at (+5.75,+1.25) {0};
\node[] at (+0.25,+1.75) {0};
\node[] at (+0.75,+1.75) {0};
\node[] at (+1.25,+1.75) {0};
\node[] at (+1.75,+1.75) {0};
\node[fill=lightgray] at (+2.25,+1.75) {1};
\node[] at (+2.75,+1.75) {0};
\node[] at (+3.25,+1.75) {0};
\node[] at (+3.75,+1.75) {0};
\node[] at (+4.25,+1.75) {0};
\node[] at (+4.75,+1.75) {0};
\node[] at (+5.25,+1.75) {0};
\node[] at (+5.75,+1.75) {0};
\node[] at (+0.25,+2.75) {1};
\node[] at (+0.75,+2.75) {2};
\node[] at (+1.25,+2.75) {3};
\node[] at (+1.75,+2.75) {4};
\node[] at (+2.25,+2.75) {5};
\node[] at (+2.75,+2.75) {6};
\node[] at (+3.25,+2.75) {7};
\node[] at (+3.75,+2.75) {8};
\node[] at (+4.25,+2.75) {9};
\node[] at (+4.75,+2.75) {10};
\node[] at (+5.25,+2.75) {11};
\node[] at (+5.75,+2.75) {12};
\end{tikzpicture}
\end{document}
Буду признателен за любые дальнейшие указания.
РЕДАКТИРОВАТЬ Следующий код — это моя версия с матрицей tikz. Мне все еще нужно добавить больше пространства между строками, двойную линию между строками и вертикальный текст сбоку. Часть кода я взял изСамый простой способ заполнить матрицу узлов?
\documentclass[24point]{article}
\usepackage{tikz}
\begin{document}
\tikzstyle{matrici}=[
matrix of math nodes,
nodes in empty cells,
column sep=-\pgflinewidth, % to avoid double borders in contiguous cells
nodes={
draw,
align=center,
inner sep=0pt,
text width=0.5cm,
minimum height=0.5cm
}
]
\begin{tikzpicture}
\matrix[matrici,
row 1/.style={nodes={draw=none, fill=none}},
row 2/.style={nodes={draw=none, fill=none}},
row 3/.style={nodes={draw=none, fill=none}},
row 2 column 1/.style={nodes={font=\small}},
row 2 column 2/.style={nodes={font=\small}},
row 2 column 3/.style={nodes={font=\small}},
row 2 column 4/.style={nodes={font=\small}},
row 2 column 5/.style={nodes={font=\small}},
row 2 column 6/.style={nodes={font=\small}},
row 2 column 7/.style={nodes={font=\small}},
row 2 column 8/.style={nodes={font=\small}},
row 2 column 9/.style={nodes={font=\small}},
row 2 column 10/.style={nodes={font=\small}},
row 2 column 11/.style={nodes={font=\small}},
row 2 column 12/.style={nodes={font=\small}},
row 3 column 1/.style={nodes={font=\small}},
row 3 column 2/.style={nodes={font=\small}},
row 3 column 3/.style={nodes={font=\small}},
row 3 column 4/.style={nodes={font=\small}},
row 3 column 5/.style={nodes={font=\small}},
row 3 column 6/.style={nodes={font=\small}},
row 3 column 7/.style={nodes={font=\small}},
row 3 column 8/.style={nodes={font=\small}},
row 3 column 9/.style={nodes={font=\small}},
row 3 column 10/.style={nodes={font=\small}},
row 3 column 11/.style={nodes={font=\small}},
row 3 column 12/.style={nodes={font=\small}},
row 2 column 5/.style={nodes={fill=gray!20, font=\small}},
row 3 column 5/.style={nodes={fill=gray!30, font=\small}},
row 3 column 6/.style={nodes={fill=gray!30, font=\small}},
row 3 column 7/.style={nodes={fill=gray!30, font=\small}},
row 3 column 8/.style={nodes={fill=gray!30, font=\small}},
row 3 column 9/.style={nodes={fill=gray!20, font=\small}},
]
(X)
{1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
&&&&&&&&&&&\\
};
\draw[->, thick] (-0.80,-1.6) -- (1,-1.6);
\draw [densely dashed] (-1,-1.1) -- (-1,-1.7);
\draw [densely dashed] (1.25,-1.1) -- (1.25,-1.7);
\end{tikzpicture}
\end{tikzpicture}
\end{document}