我想知道是否有办法axis cs
在 PGFPlots 中指定绘图内的默认坐标系,这样我就不必axis cs:
在每个坐标对前面都输入。这里有一个 MWE,它显示了我的意思(实际绘图无关紧要)。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=80,
ymin=0,
ymax=80,
grid=major,
]
\fill [green, opacity=0.5] (axis cs:14,14) -- (axis cs:80,47) -- (axis cs:80,80) -- (axis cs:47,80) -- cycle;
\fill [red, opacity=0.5] (0,0) -- (axis cs:80,0) -- (axis cs:80,47) -- (axis cs:14,14) -- (axis cs:47,80) -- (axis cs:0,80) -- cycle;
\draw [thick] (axis cs:47,80) -- (axis cs:14,14) -- (axis cs:80,47);
\end{axis}
\end{tikzpicture}
\end{document}
答案1
的当前稳定版本是 1.11 版(2014 年 8 月发布)。如果您在前言中pgfplots
写入,它将支持此功能。如果没有此声明,它将与旧行为保持兼容。\pgfplotsset{compat=1.11}
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=80,
ymin=0,
ymax=80,
grid=major,
]
\fill [green, opacity=0.5] (14,14) -- (80,47) -- (80,80) -- (47,80) -- cycle;
\fill [red, opacity=0.5] (0,0) -- (80,0) -- (80,47) -- (14,14) -- (47,80) -- (0,80) -- cycle;
\draw [thick] (47,80) -- (14,14) -- (80,47);
\end{axis}
\end{tikzpicture}
\end{document}