Mit pgfplots
kann man axis
die Optionen minor xtick
und minor ytick
zusammen mit verwenden grid=minor
, um manuell Gitternetzlinien zu erzeugen. Wenn man solche Gitternetzlinien verwendet, möchte man möglicherweise einen bestimmten Bereich, der durch die Gitternetzlinien und die Achsen begrenzt ist, hervorheben, indem man ihn mit einer Farbe füllt. Ist das möglich?
Hier ist ein Beispiel, um das Problem zu veranschaulichen. Angenommen, ich habe Folgendes
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
minor ytick={2},
minor xtick={2},
grid=minor
]
\addplot{x};
\end{axis}
\end{tikzpicture}
\end{document}
das erzeugt
und sagen wir, ich möchte den oberen rechten Bereich hervorheben, der durch die Gitternetzlinien und Achsen begrenzt ist. Wie kann ich das tun? Das heißt, ich möchte so etwas wie das Folgende erzeugen:
Antwort1
Sie können hierfür einen normalen TikZ \fill
-Befehl in Kombination mit den axis cs:
Koordinatensystemen und verwenden. Die im Formular angegebenen Koordinaten beziehen sich auf die Koordinate im Datenkoordinatensystem, während sich auf die obere rechte Ecke der Plotfläche bezieht. In Ihrem Fall könnten Sie verwendenrel axis cs:
(axis cs:2,3)
2,3
rel axis cs:1,1
\fill [orange!25] (axis cs:2,2) rectangle (rel axis cs:1,1);
vor Ihrem \addplot
Befehl, um den rechteckigen Bereich zu schattieren. Beachten Sie, dass Sie festlegen möchten axis on top
, da der farbige Bereich sonst die Markierungen und Achsenlinien überlagern würde.
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
minor ytick={2},
minor xtick={2},
grid=minor,
axis on top
]
\fill [orange!25] (axis cs:2,2) rectangle (rel axis cs:1,1);
\addplot{x};
\end{axis}
\end{tikzpicture}
\end{document}