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 的结果如下:
...也就是说,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)
... 在上面的代码中,情节将按预期居中......
这仍然是一个蛮力解决方案,没有任何关于哪里出了问题的理解 - 所以如果更有知识的人愿意对此进行扩展,我们非常欢迎......