pgfplot: matrix plot Layout anpassen
*`pgfplots` gibt sich sehr viel Mühe, ein Farbschema festzulegen. Ich möchte/muss das selbst machen.*
*Ich denke, es sind nur ein paar triviale Einstellungen, die hier fehlen.*
___
Ich habe hier eine Beispielabelle (diese könnte auch mehr *Zeilen* haben)
table[] {
x y Z N color bgcolor
1 1 1 4 r R
1 2 2 3 s S
2 1 3 2 b B
2 2 4 1 b R
};
und möchte daraus einen `matrix plot` machen.
- Klappt soweit: Die Spalten `Z` und `N` sollen zum Zähler/Nenner eines Bruches werden.
- **Klappt noch nicht**: Die Spalte `color` soll die *Textfarbe* festlegen, etwa nach dem Schema
`\tikzset{TextFarben/.style={r/.style={red}, b/.style={blue}, s/.style={black} }}`
- **Klappt auch noch nicht:** Die Spalte `bgcolor` soll die *Hintegrundfarbe* festlegen, etwa nach dem Schema
`\tikzset{HintergrundFarben/.style={R/.style={red!50}, B/.style={blue!50}, S/.style={black!50} }}`
Also ich komme so weit:
[![alt text][1]][1]
(wobei die Brüche noch nicht 100% richtig gefärbt sind)
**Was muss ich ändern, um einen richtigen `matrix plot` zu erhalten?**
`PS: Falls jmd. Einsparungsmöglichkeiten sieht immer gern. Z.B. dreimal *\pgfmathprintnumber[precision=0]*, zweimal *visualization depends on* (anders ging es nicht).
Nur die Brüche sollte man pgfplots nicht selbst darstellen lassen, was sonst Probleme/Fehler aufkommen. Die Zahlen in der Tabelle stammen aus Mathematica.`
%\documentclass[]{article}
\documentclass[border=3pt, varwidth]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.13}
\begin{document}
% pgfplots.pdf, S. 115
\pgfplotsset{ZahlenAnzeigen/.style={
TextFarben, %TextFarben,
nodes near coords*={
\pgfmathsetmacro{\Nenner}{int(\nenner)}
\ifnum\Nenner=1
$\textcolor{red}{\pgfmathprintnumber[precision=0]\zaehler}$%
\else
${\frac{\pgfmathprintnumber[precision=0]\zaehler}
{\pgfmathprintnumber[precision=0]\nenner}}$%
\fi},
every node near coord/.append style={xshift=0pt,yshift=-7pt, font=\footnotesize}
}}
\tikzset{TextFarben/.style={
r/.style={red}, b/.style={blue}, s/.style={black}
}}
\tikzset{HintergrundFarben/.style={
R/.style={red!50}, B/.style={blue!50}, S/.style={black!50}
}}
\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2]
\addplot[matrix plot,
%mark=*,
only marks, % ohne das geht es nicht
%point meta=\thisrow{color},
ZahlenAnzeigen,
visualization depends on={\thisrow{Z} \as \zaehler},
visualization depends on={\thisrow{N} \as \nenner},
]
table[] {
x y Z N color bgcolor
1 1 1 4 b B
1 2 2 3 s S
2 1 3 2 b B
2 2 4 1 r R
};
\end{axis}
\end{tikzpicture}
\end{document}
[1]: http://texwelt.de/wissen/upfiles/55555555_87.png