我正在寻找一个代码 - 可能在 {axis}[options] 内 -自动地输入变量名(例如,X, 和是) 在每个轴的末尾。我知道手动执行此操作的方法,其中包括添加节点的位置,例如:
ylabel=$y$, y label style={at={(0,1)}},
xlabel=$x$, x label style={at={(1,0)}},
因为我倾向于处理许多图表,所以我想自动执行此操作。为了方便回答,我添加了一个包含以上几行的 MWE:
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=bottom,
axis y line=left,
ylabel=$y$,
y label style={at={(0.18,1.05)}},
xlabel=$x$,
x label style={at={(1.05,0.13)}},
ytick=\empty,
xtick=\empty]
\addplot coordinates {(0,0) (1,1)};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
labels at axis tips
您可以像这样定义新样式:
\pgfplotsset{
labels at axis tips/.style 2 args={
compat=1.12,
xlabel=#1,
x label style={
at={(current axis.right of origin)},
anchor=west
},
ylabel=#2,
y label style={
at={(current axis.above origin)},
anchor=west
},
},
labels at axis tips/.default={$x$}{$y$}
}
然后,您可以调用labels at axis tips
您的axis
选项而不使用任何参数来放置默认标签,或者您可以调用labels at axis tips={xlabel}{ylabel}
来使用不同的标签文本。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
labels at axis tips/.style 2 args={
compat=1.12,
xlabel=#1,
x label style={
at={(current axis.right of origin)},
anchor=west
},
ylabel=#2,
y label style={
at={(current axis.above origin)},
anchor=west
},
},
labels at axis tips/.default={$x$}{$y$}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
labels at axis tips,
axis x line=bottom,
axis y line=left,
ytick=\empty,
xtick=\empty]
\addplot coordinates {(0,0) (1,1)};
\end{axis}
\end{tikzpicture}
\end{document}