Im Grunde sind beide Versionen total gut und für mich umsetzbar. Ich verstehe würde nur nicht noch gern verstehen wieso ich nicht einfach zwei Koordinaten in der Submatrix erstellen kann und diese dann bei der matrix of nodes verwenden kann? Ist das überhaupt möglich, denn ich bekomme es nicht hin. Es sieht so aus, als wäre es irrelevant, wo die Koordinaten in der Submatrix gesetzt sind und stattdessen geschaut wird wo die Koordinaten in der matrix of nodes liegen würden? Warum ist das so und kann man das verhindern? `\myfigure` erstellt doch erstmal jedesmal ein eigenes tikzpicture. Müsste sich dann die Koordinate nicht auf die Position in der Submatrix beziehen?
Wenn man nur wenige Punkte braucht und die Submatrix über `rectangle` erstellt hat, wie hier, dann erscheint mir das einfacher als das in zwei Schleifen für jede Zelle zu machen.
Ich frage vor Allem deswegen, weil mein Subbild nicht so eine klare Matrix ist, sondern aus mehreren Matrizen besteht und alle mit `rectangle` und Koordinatenangaben aufgebaut wurden. Kann ich also in `\myfigure[1]` 2 Koordinaten erstellen, die in der matrix of nodes noch genau an der Stelle definiert sind, wo sie in `\myfigure[1]` waren ohne die Verwendung von `anchor`?
\documentclass[tikz]{standalone}
\usetikzlibrary{matrix, arrows.meta, calc}
\begin{document}
\newcommand{\myfigure}[1]{%
\begin{tikzpicture}[line width=0.4mm]
\def \lrW {3} %Number of columns
\def \lrH {3} %Number of lines
\definecolor{data}{HTML}{e3e3e3} % gray color
\def \height {1.0} %height
\def \width {1.0} %width
% building submatrix
\draw [draw=black, fill=data]
(0,0) rectangle +(\lrW*\width,\lrH*\height)
;
\draw [thin, color=gray, xstep=\width cm, ystep=\height cm]
(0.01,0.01) grid +(\lrW*\width-0.02,\lrH*\height-0.02)
;
%Koordinaten händisch erstellen
\coordinate (#1-a) at (\width*\lrW, \height*\lrH - \height/2);
\coordinate (#1-e) at (0, \height*\lrH - \height/2);
\end{tikzpicture}
}
\begin{tikzpicture}[
>={Latex[length=3mm]},
font=\sffamily% für serifenlose Schrift
]
\matrix [
matrix of nodes,
nodes in empty cells,
column sep=2cm,
row sep=1cm,
row 1/.style={anchor=center},
row 2/.style={anchor=center},
row 3/.style={anchor=center}
] (ae) {
Text & \myfigure{A} & \myfigure{B} & \myfigure{C} & \myfigure{D} & \\
Text & \myfigure{E} & \myfigure{F} & \myfigure{G} & \myfigure{H} & $\cdots$ \\
Text & \myfigure{I} & \myfigure{J} & \myfigure{K} & \myfigure{M} & \\
& Text & Text & Text & Text \\
& Text & Text & Text & Text \\
};
%Pfeilgerade von Submatrix A zu Submatrix F, funktioniert aber nicht
\draw[->] (A-e) -- (F-e);
\end{tikzpicture}
\end{document}