轴标签 Pgfplots 的距离

轴标签 Pgfplots 的距离

为什么此选项会改变此图中轴标签的距离?

 \pgfplotsset{/pgf/number format/use comma,compat=newest,%
                width=12cm,%
                height=9cm%
                }

在本文档中:

\documentclass[a4paper,12pt]{article}
\usepackage{pgfplots,pgfplotstable}        % Grafici
\pgfplotsset{/pgf/number format/use comma,compat=newest,%
            width=12cm,%
            height=9cm%
            }


\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\makeatletter \newcommand{\pgfplotsdrawaxis}{\pgfplots@draw@axis} \makeatother
\pgfplotsset{axis line on top/.style={
 axis on top=false,
 after end axis/.append code={
    \pgfplotsset{axis line style=opaque,
      ticklabel style=opaque,
      tick style=opaque,
      grid=none}
    \pgfplotsdrawaxis}
  }
}
\begin{axis}[/pgf/number format/fixed,
legend pos=outer north east,
grid=major,
xmin=0, xmax=0.2,
ymin=0, ymax=0.6,
point meta min={0},
point meta max={0.2},
yticklabel shift=2pt,
xticklabel shift=2pt,
legend pos=north west,
minor tick num=4,
axis line on top,
xticklabel style={text height=1.5ex},
xtick={0,0.05,...,0.3},
minor xtick={0,0.01,...,0.2},
extra x ticks={0,0.05,...,0.3},
extra x tick style={
    xticklabel pos=right,
    xticklabel style={text depth=0pt}
},
extra y ticks={0,0.1,...,0.7},
extra y tick style={
    yticklabel pos=right
},
tick style={thin,black},
xlabel=\large $m$,
ylabel=\large $\Delta l$,
colorbar horizontal,
colorbar style={
    /pgf/number format/fixed,
    xticklabel shift=2pt,
    xtick={0,0.05,...,0.3},
    xticklabel style={text height=1.5ex}
},
colormap={new}{color(0cm)=(violet);color(1cm)=(blue);color(2cm)=(cyan);color(3cm)=(green);color(4cm)=(yellow);color(5cm)=(orange);color(6cm)=(red)},
after end axis/.append code={
    \draw ({rel axis cs:0,0}-|{axis cs:0,0}) -- ({rel axis cs:0,1}-|{axis cs:0,0});
},
legend cell align=left]
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

我修改了轴号与网格之间的距离,然后我将轴号与轴标签之间的距离恢复到正常距离。谢谢

答案1

关键compat=newest应该改变轴标签的放置方式。

在 1.3 之前的所有版本中,轴标签都放置在固定的绝对距离处 - 而不考虑任何刻度标签的宽度。在 1.3 之后,一个“新”功能(我们现在有 1.6.1)允许计算最大刻度标签的大小并将轴标签放置在它们旁边。

请注意,通常不建议使用compat=newest。如果 1.7 版想要更改默认值,会发生什么情况?选择newest会导致与现在不同的输出。请使用compat=1.5compat=1.6(或您正在运行的任何版本)。从 1.6 开始,pgfplots 会将建议值转储到日志文件中。

在您的情况下,您可以使用轴选项xlabel absolute(或其 y 变体)来恢复旧的绝对位置。

相关内容