Как отобразить заголовки на сетке, созданной с помощью TikZ?

Как отобразить заголовки на сетке, созданной с помощью TikZ?

Я пытаюсь создать карту Маркова, как описано Диасом и Вермунтом (2007) на рис. 2.http://members.home.nl/jeroenvermunt/dias2006c.pdf

Вот рисунок:

введите описание изображения здесь

До сих пор я пробовал использовать сетки для TiкZ, который работает для градиентной окраски, но я не могу добавить названия штатов. Я также пробовал с таблицами, но этот результат выглядит не очень хорошо (очень беспорядочно, разный размер ячеек).

(Надеюсь, это сделано правильно, так как я здесь впервые!)

Кто-нибудь знает, как добавлять названия заголовков и создавать красивую карту?

Большое спасибо!


Я не могу понять, как ответить на комментарий.. Поэтому я сделаю это так. Библиотека матриц Tiкz работает очень хорошо (я вижу результаты, опубликованные в комментарии), однако, когда я расширяю его до матрицы 22*22, появляется ошибка:

Переполненный \hbox - почти во всех абзацах...

Я пробовал менять размеры, минимальную ширину и ширину текста, но это не помогло. Не могли бы вы объяснить, что означают эти измерения и как это исправить? Спасибо еще раз!


Мне нужно несколько карт Маркова рядом друг с другом, но выравнивание не получается, так как нижние 2 карты находятся в разных местах. Кто-нибудь знает, как это решить? введите описание изображения здесь

\begin{figure}[tb]
\subcaptionbox{Cluster 1, $\pi_1 = 0.18$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
column 1/.style={nodes={draw=none, minimum width=30mm, text width=28mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{   \&  AC  \&  CH  \&  DP  \&  HP  \&  IA  \&  LB  \&  LP  \&  NL  \&  SC  \&  show\_discount\_reminder    \&  show\_funnel\_campaign  \&  show\_recc  \&  show\_recp  \&  show\_upsell    \&  show\_wijnatlas     \&  WV  \&  XT  \\                                      
AC  \& |[fill=black!    2   ]|\& |[fill=black!  0   ]|\& |[fill=black!  45  ]|\& |[fill=black!  6   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  37  ]|\& |[fill=black!  0   ]|\& |[fill=black!  3   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  5   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        

XT  \& |[fill=black!    8   ]|\& |[fill=black!  0   ]|\& |[fill=black!  17  ]|\& |[fill=black!  17  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  25  ]|\& |[fill=black!  0   ]|\& |[fill=black!  13  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  17  ]|\& |[fill=black!  0   ]|\& |[fill=black!  2   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        
};
\end{tikzpicture}
}
\subcaptionbox{Cluster 2, $\pi_2 = 0.16$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
%column 1/.style={nodes={draw=none, minimum width=43mm, text width=40mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{       AC  \&  CH  \&  DP  \&  HP  \&  IA  \&  LB  \&  LP  \&  NL  \&  SC  \&  show\_discount\_reminder    \&  show\_funnel\_campaign  \&  show\_recc  \&  show\_recp  \&  show\_upsell    \&  show\_wijnatlas     \&  WV  \&  XT  \\                                      
     |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  17  ]|\& |[fill=black!  2   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  79  ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        
     |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  14  ]|\& |[fill=black!  3   ]|\& |[fill=black!  0   ]|\& |[fill=black!  49  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  33  ]|\\                                                                    
};
\end{tikzpicture}
}
\subcaptionbox{Cluster 3, $\pi_3 = 0.23$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
%row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
column 1/.style={nodes={draw=none, minimum width=30mm, text width=28mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{AC \& |[fill=black!    2   ]|\& |[fill=black!  0   ]|\& |[fill=black!  40  ]|\& |[fill=black!  10  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  40  ]|\& |[fill=black!  0   ]|\& |[fill=black!  7   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        

XT  \& |[fill=black!    4   ]|\& |[fill=black!  0   ]|\& |[fill=black!  18  ]|\& |[fill=black!  19  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  25  ]|\& |[fill=black!  1   ]|\& |[fill=black!  20  ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  9   ]|\& |[fill=black!  0   ]|\& |[fill=black!  2   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        
};
\end{tikzpicture}
}
\subcaptionbox{Cluster 4, $\pi_4 = 0.13$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
%row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
%column 1/.style={nodes={draw=none, minimum width=43mm, text width=40mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{    |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  71  ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  6   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  21  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        

     |[fill=black!  3   ]|\& |[fill=black!  0   ]|\& |[fill=black!  16  ]|\& |[fill=black!  11  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  19  ]|\& |[fill=black!  0   ]|\& |[fill=black!  6   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  40  ]|\& |[fill=black!  0   ]|\& |[fill=black!  2   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        
};
\end{tikzpicture}
}
\subcaptionbox{Cluster 5, $\pi_5 = 0.17$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
%row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
column 1/.style={nodes={draw=none, minimum width=43mm, text width=40mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{AC \& |[fill=black!    1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  17  ]|\& |[fill=black!  4   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  76  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        

XT  \& |[fill=black!    4   ]|\& |[fill=black!  0   ]|\& |[fill=black!  9   ]|\& |[fill=black!  28  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  29  ]|\& |[fill=black!  0   ]|\& |[fill=black!  13  ]|\& |[fill=black!  0   ]|\& |[fill=black!  3   ]|\& |[fill=black!  2   ]|\& |[fill=black!  0   ]|\& |[fill=black!  5   ]|\& |[fill=black!  8   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        
};
\end{tikzpicture}
}
\subcaptionbox{Cluster 6, $\pi_6 = 0.12$}{
\begin{tikzpicture}[font=\ttfamily, ampersand replacement=\&]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
%row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
%column 1/.style={nodes={draw=none, minimum width=43mm, text width=40mm, align=right}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{    |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  40  ]|\& |[fill=black!  6   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  18  ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  33  ]|\& |[fill=black!  0   ]|\& |[fill=black!  1   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                        

     |[fill=black!  7   ]|\& |[fill=black!  1   ]|\& |[fill=black!  8   ]|\& |[fill=black!  29  ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\& |[fill=black!  19  ]|\& |[fill=black!  0   ]|\& |[fill=black!  10  ]|\& |[fill=black!  0   ]|\& |[fill=black!  2   ]|\& |[fill=black!  15  ]|\& |[fill=black!  0   ]|\& |[fill=black!  2   ]|\& |[fill=black!  7   ]|\& |[fill=black!  0   ]|\& |[fill=black!  0   ]|\\                                    
};
\end{tikzpicture}
}
\label{TP_userS6}
\caption{Transition probabilities of user data (ADJ) using MMM}
\end{figure}

решение1

Вы можете использовать matrix:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}[font=\sffamily\tiny]
\matrix (A) [nodes in empty cells,
        matrix of nodes,
        nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
        row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
        column 1/.style={nodes={draw=none, minimum width=12mm, text width=10mm, align=left}},
        column sep=-\pgflinewidth,
        row sep=-\pgflinewidth
        ]
{
& frontpage & news & tech \\
frontpage & |[fill=red]| & |[fill=orange]| & \\
news & & |[fill=red!70!black]| & \\
tech & & |[fill=yellow]| & |[fill=red!70!black]| \\
};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Обновлять:

Проблема с матрицей 22x22 не в ее размере, а в размере узлов первого столбца. В моем предыдущем примере они были определены с помощью

    column 1/.style={nodes={draw=none, minimum width=12mm, text width=10mm, align=left}},

с таким размером они могут поместиться frontpage, но не show\_discount\_reminer. Если вы объявите узлы столбца 1 достаточно длинными, чтобы справиться с этими длинными словами, все сообщения о overfull horizontal boxисчезнут.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{matrix}

\usepackage{lipsum}

\begin{document}
\lipsum[1]

\begin{figure}[tb]
\begin{tikzpicture}[font=\itshape]
\matrix (A) [nodes in empty cells,
matrix of nodes,
nodes={draw, minimum size=3mm, inner sep=0pt, outer sep=0pt, anchor=center},
row 1/.style={nodes={draw=none, rotate=90, anchor=west, inner xsep=1mm}},
column 1/.style={nodes={draw=none, minimum width=43mm, text width=40mm, align=left}},
column sep=-\pgflinewidth,
row sep=-\pgflinewidth
]
{
&   AC &  ACRC  &   CH  &   DP    &   HP    &   IA    &   infl\_discount\_reminder &   infl\_funnel\_campaign    &   infl\_upsell  &   infl\_wijnatlas   &   LB    &   LP    &   NL    &   SC    &   show\_discount\_reminder  &   show\_funnel\_campaign    &   show\_recc    &   show\_recp &  show\_upsell  &   show\_wijnatlas   &   WV &  XT \\
AC & |[fill=black!    1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   39  ]|& |[fill=black!   6   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   43  ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   8   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
ACRC  & |[fill=black! 40  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   20  ]|& |[fill=black!   20  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   20  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
CH    & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   4   ]|& |[fill=black!   1   ]|& |[fill=black!   1   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   18  ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   30  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   22  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   22  ]|\\
DP    & |[fill=black! 6   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   17  ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|& |[fill=black!   8   ]|& |[fill=black!   0   ]|& |[fill=black!   9   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   52  ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|\\
HP    & |[fill=black! 2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   7   ]|& |[fill=black!   49  ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   18  ]|& |[fill=black!   0   ]|& |[fill=black!   5   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   13  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   3   ]|\\
IA    & |[fill=black! 3   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   14  ]|& |[fill=black!   14  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   18  ]|& |[fill=black!   1   ]|& |[fill=black!   25  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   19  ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   1   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|\\
infl\_discount\_reminder  & |[fill=black! 2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   6   ]|& |[fill=black!   2   ]|& |[fill=black!   2   ]|& |[fill=black!   30  ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   33  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   19  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|\\
infl\_funnel\_campaign    & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   27  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   48  ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   22  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|\\
infl\_upsell  & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   64  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   36  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
infl\_wijnatlas   & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   64  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   27  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   9   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
LB    & |[fill=black! 5   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   13  ]|& |[fill=black!   22  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   32  ]|& |[fill=black!   0   ]|& |[fill=black!   8   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   14  ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
LP    & |[fill=black! 6   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   8   ]|& |[fill=black!   4   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|& |[fill=black!   36  ]|& |[fill=black!   0   ]|& |[fill=black!   8   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   18  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   15  ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|\\
NL    & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|& |[fill=black!   5   ]|& |[fill=black!   81  ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|\\
SC    & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   9   ]|& |[fill=black!   2   ]|& |[fill=black!   1   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   4   ]|& |[fill=black!   0   ]|& |[fill=black!   47  ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   23  ]|& |[fill=black!   0   ]|& |[fill=black!   6   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|\\
show\_discount\_reminder  & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   82  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   7   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   5   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|\\
show\_funnel\_campaign    & |[fill=black! 0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   81  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   5   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   5   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|\\
show\_recc    & |[fill=black! 3   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   11  ]|& |[fill=black!   4   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   13  ]|& |[fill=black!   0   ]|& |[fill=black!   19  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   34  ]|& |[fill=black!   0   ]|& |[fill=black!   4   ]|& |[fill=black!   6   ]|& |[fill=black!   0   ]|& |[fill=black!   4   ]|\\
show\_recp & |[fill=black!    0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   50  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   50  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
show\_upsell  & |[fill=black! 1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   4   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   6   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   4   ]|& |[fill=black!   0   ]|& |[fill=black!   45  ]|& |[fill=black!   1   ]|& |[fill=black!   3   ]|& |[fill=black!   32  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   2   ]|\\
show\_wijnatlas   & |[fill=black! 10  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   12  ]|& |[fill=black!   3   ]|& |[fill=black!   1   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   43  ]|& |[fill=black!   0   ]|& |[fill=black!   7   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   21  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|\\
WV & |[fill=black!    0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   9   ]|& |[fill=black!   33  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   19  ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   24  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   10  ]|& |[fill=black!   3   ]|\\
XT & |[fill=black!    5   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   15  ]|& |[fill=black!   19  ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|& |[fill=black!   25  ]|& |[fill=black!   0   ]|& |[fill=black!   15  ]|& |[fill=black!   0   ]|& |[fill=black!   1   ]|& |[fill=black!   14  ]|& |[fill=black!   0   ]|& |[fill=black!   3   ]|& |[fill=black!   2   ]|& |[fill=black!   0   ]|& |[fill=black!   0   ]|\\
};
\end{tikzpicture}
\caption{Markov map aggregated data (S=1).}
\end{figure}  
\end{document}

введите описание изображения здесь

решение2

Подход, аналогичный предложенному вами в вашем вопросе, заключается в следующем. Я использую два цикла для маркировки столбцов и строк, затем несколько \fillдля выбранных ячеек и, наконец, сетку. Сетка рисуется на последнем этапе, так что линии сетки покрывают края заполненных ячеек.

\documentclass [border=2mm]{standalone}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[scale=0.4]
    % Put column headers
    \foreach \header [count=\c] in {Lorem, ipsum, dolor, sit, amet, consectetur, adipiscing, elit, Proin, vulputate, dignissim, odio, eu, euismod, sapien, sodales, eu, Curabitur, ipsum, nibh, dictum, eu} {
      \node[above] at (\c-0.5,22) {\rotatebox{90}{\small\sffamily\header}};
      }

    % Put row headers
    \foreach \header [count=\c] in {Lorem, ipsum, dolor, sit, amet, consectetur, adipiscing, elit, Proin, vulputate, dignissim, odio, eu, euismod, sapien, sodales, eu, Curabitur, ipsum, nibh, dictum, eu} {
      \node[left] at (0,22-\c+0.5) {\small\sffamily\header};
      }

    % Fill some squares
    \fill[black!10] (0,21) rectangle +(1,1); % Use relative coordinates for the rectangle size
    \fill[black!30] (1,20) rectangle +(1,1); % Use relative coordinates for the rectangle size

    % Finally, the grid
    \draw[black, very thin] (0,0) grid (22,22);
\end{tikzpicture}
\end{document}

Результат:

Результат

Связанный контент