可以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}