结束后轴会弄乱 pgfplots 轴的位置

结束后轴会弄乱 pgfplots 轴的位置

Latex 和 Tikz 会让我失去生命......

我看见需要对 pgfplots 轴做一些更改 #39099,这个例子对我来说很好用;所以我对它进行了一些修改,并得出了以下 MWE:

\documentclass[10pt,a4paper]{article}
\usepackage[hmargin=3cm,vmargin=2cm]{geometry}
\usepackage{floatrow}
\usepackage{tikz}
\usepackage{pgfplots}
% \usepackage{lua-visual-debug}

\begin{document}
\begin{figure}[H]%[h!tbp]
\centering
\begin{tikzpicture}
\begin{scope}
  \begin{axis}[
    clip=true,
    axis x line=middle,
    axis y line=middle,
    xmin = 2.5e-3,
    xmax = 4.2e-3,
    ymin = 0,
    ymax = 710,
    xlabel={},%{$t$\,[ms]},
    xlabel style={at={(axis description cs:1.01,+0.0)},anchor=west},
    ylabel={}, %{$U$\,[V]},
    ylabel style={at={(axis description cs:-0.02,1.01)},anchor=south},
    xtick=data,
    scaled x ticks=base 10:3,
    xtick scale label code/.code={}, % this to not show extra scale label
    x tick label style={
      rotate=-45,
      anchor=west,
      /pgf/number format/fixed,
      /pgf/number format/fixed zerofill,
      /pgf/number format/precision=3,
    },
    tick label style={font=\small,},
    legend cell align=left,
    legend pos=outer north east,
    % this for "the 0 is missing from the labels";
    after end axis/.code={
      \path (axis cs:0,0)
        node [anchor=north west,yshift=-0.075cm,xshift=-0.4em] {0}
        node [anchor=east,xshift=-0.075cm] {0};
    }
  ]
\addplot[mark=*] coordinates {(2.9e-3,400)};
\end{axis}
\end{scope}
\end{tikzpicture}
\end{figure}
\end{document}

那么,为什么 MWE 的结果如下:

测试01a.png

...也就是说,0,0 坚持在边缘的左边,情节本身在右边,溢出边缘 - 所有这些都是在\centering发布时发生的?

如果您注释掉该after end axis/.code={...}部分 - 那么一切都会按预期进行?!

我在这里遗漏了什么?

答案1

嗯...就像往常一样,我一发布问题,就注意到了\path (axis cs:0,0),我想:“如果我在那里输入“,会发生什么rel?” - 事实上,这解决了它;只需替换\path (axis cs:0,0)为:

\path (rel axis cs:0,0)

... 在上面的代码中,情节将按预期居中......

这仍然是一个蛮力解决方案,没有任何关于哪里出了问题的理解 - 所以如果更有知识的人愿意对此进行扩展,我们非常欢迎......

相关内容