可以pgfplots
使用axis
這些選項minor xtick
來minor ytick
手動grid=minor
產生網格線。如果使用這樣的網格線,人們可能想要透過用某種顏色填滿它來強調由網格線和軸界定的特定區域。這可能嗎?
下面舉一個例子來說明這個問題。說我有以下內容
\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}
產生
並說我想強調以網格線和軸為界的右上區域。我怎樣才能做到這一點?也就是說,產生如下內容:
答案1
為此,您可以將普通的 TikZ\fill
命令與axis cs:
和坐標系結合使用。rel 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);
\addplot
在命令對矩形區域進行著色之前。請注意,您需要設置axis on top
,否則彩色區域會覆蓋刻度線和軸線。
\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}