当我从重新编译此代码时pgfplots 画廊(example_291.tex),我得到了下面的图表,它显然没有ylabel
向右移动第二个axis
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{textcomp}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ scale only axis, xmin=-5,xmax=5,
axis y line*=left, xlabel=$x$, ylabel=Absolute]
\addplot {x^2};
\end{axis}
\begin{axis}[ scale only axis, xmin=-5,xmax=5,
ymin=0,ymax=1000, yticklabel= {$\pgfmathprintnumber{\tick}$\textperthousand},
axis y line*=right, axis x line=none,
ylabel style={font=\tiny}, ylabel=per thousand]
\end{axis}
\end{tikzpicture}
\end{document}
我尝试改变 的样式,ylabel
以调查我的 pgf 知识范围。它将字体更改为tiny
但 仍然ylabel
在左侧。
提前致谢。
答案1
当你编译代码时,你会收到以下警告:
软件包 pgfplots 警告:以向后兼容模式运行(不合适的刻度标签;缺少功能)。考虑将 \pgfplotsset{compat=1.10} 写入您的序言中。在输入行 5。
有关兼容性的更多详细信息pgfplots
,请阅读手册第 2.2 节升级备注第 8 页(在我的副本中)
解决方案:您必须将compat
选项添加到\pgfplotsset
。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10} %% <-- this added
\usepackage{textcomp}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scale only axis,
xmin=-5,
xmax=5,
axis y line*=left,
xlabel=$x$,
ylabel=Absolute]
\addplot {x^2};
\end{axis}
\begin{axis}[
scale only axis,
xmin=-5, xmax=5,
ymin=0, ymax=1000,
yticklabel= {$\pgfmathprintnumber{\tick}$\textperthousand},
axis y line*=right,
axis x line=none,
ylabel style={font=\tiny},
ylabel=per thousand]
\end{axis}
\end{tikzpicture}
\end{document}
为了更安全,建议添加当前版本,\pgfplotsset{compat=1.10}
因为如果添加\pgfplotsset{compat=newest}
某些东西,可能无法工作/损坏。