Wenn die Label eine unterschiedliche Farbe haben sollen, dann kann man in der `\foreach` Schleife einfach eine zusätzliche Variable dafür verwenden:
\documentclass[margin=5mm,tikz]{standalone}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
% Matrix der Kreise zeichnen:
\matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{
{} & & {}\\
& & {}\\
{} & & {}\\
};
% Beschriftungen:
\begin{scope}[every label/.style={text width=1.7cm,align=center},label distance=3.5pt]
\foreach \pos/\Text/\farbe in {
1-1/M/yellow,
1-3/M/green,
2-3/P/red!50,
3-1/(total)/orange,
3-3/(partial)/black!20
}
\path (m-\pos) [late options={label={[name=m-\pos-label,fill=\farbe]\Text}},];
\end{scope}
\end{tikzpicture}
\end{document}
![alt text][1]
Da in deinem Beispiel aber nur entweder keine Füllung oder eine Füllung mit weiß zur Auswahl stehen, ist es vermutlich bequemer zwei Schleifen zu verwenden und die Label bei der entsprechenden einzufügen:
\documentclass[ngerman,margin=5mm]{standalone}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}}
\usepackage{babel}
\usepackage{setspace}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{zeilenabstand/.style={%
execute at begin node=\begin{spacing}{#1}\hspace{0pt},
execute at end node=\vspace{-\ht\strutbox}\end{spacing}}}
\begin{document}
\begin{tikzpicture}
% Matrix der Kreise zeichnen:
\matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{
& & & & & & & \\
{} & & {} & & {} & & {} \\
& & {} & & {} & & \\
{} & & {} & & {} & & {} \\
{} & {} & {} & {} & {} & {} & {}\\
};
% Verbindungslinien:
\draw (m-2-1) -- (m-3-3) -- (m-4-1) -- (m-5-3);
% Beschriftungen:
\begin{scope}[every label/.style={text width=1.7cm,align=center,%draw,
zeilenabstand=0.8},label distance=3.5pt]
% transparenter Hintergrund
\foreach \pos/\Text in { 2-1/Marktdurchdringung,
2-3/Marktentwicklung,
2-5/Produktentwicklung,
2-7/Diversifikation,
%3-3/Präferenz $\;$ \\,
3-5/Preis-Mengen,
4-1/(total),
4-3/(partial),
4-5/(total),
4-7/(partial),
5-1/Lokal,
%5-2/Regional,
5-3/Über-regional,
%5-3/Über-regional,
5-4/National,
5-5/Multinational,
5-6/International,
5-7/Weltmarkt}
\path (m-\pos) [late options={label={[name=m-\pos-label]\Text}},];
% weißer Hintergrund
\foreach \pos/\Text in {
3-3/Präferenz,
5-2/Regional
5-2/Regional,
5-3/Über-regional
}
\path (m-\pos)
[late options={label={[name=m-\pos-label,fill=white,inner xsep=0pt,]\Text}},];
%
\end{scope}
\path (m-4-1-label.north) -- node [above,fill=white] {Massenmarkt} (m-4-3-label.north);
\path (m-4-5-label.north) -- node [above] {Segmentierung} (m-4-7-label.north);
\end{tikzpicture}
\end{document}
Die Label in der untersten Zeile sind eigentlich zu breit. Das wird sichtbar, wenn man die Option `draw` für die Label aktiviert. Ich habe deshalb bei denen mit weißem Hintergrund `inner xsep=0pt` gesetzt.
![alt text][2]
[1]: http://texwelt.de/wissen/upfiles/farblabel.png
[2]: http://texwelt.de/wissen/upfiles/farblabel1.pnghttp://texwelt.de/wissen/upfiles/farblabel1_1.png