![pgfplots 使用“轴相等”选项忽略 xmin/xmax](https://linux22.com/image/326075/pgfplots%20%E4%BD%BF%E7%94%A8%E2%80%9C%E8%BD%B4%E7%9B%B8%E7%AD%89%E2%80%9D%E9%80%89%E9%A1%B9%E5%BF%BD%E7%95%A5%20xmin%2Fxmax.png)
似乎如果我axis equal
使用 pgfplots 设置选项,则不会遵循xmin
和xmax
选项。下面的 MWE 得出:
请注意,在两种情况下ymin
和ymax
都是所需的,但 x 轴上的极限是不是选项axis equal
:
我想要axis equal
,但是还能够指定绘制轴的xmim
限制。xmax
平均能量损失
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis y line=center,
axis x line=middle,
xmin=-8,
xmax=8,
ymin=-8,
ymax=8,
xtick={-8, -6, ..., 8},
ytick={-8, -6, ..., 8},
ylabel={axis equal},
axis equal,
]
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
axis y line=center,
axis x line=middle,
xmin=-8,
xmax=8,
ymin=-8,
ymax=8,
xtick={-8, -6, ..., 8},
ytick={-8, -6, ..., 8},
ylabel={without axis equal},
%axis equal, <--- main change from above
]
\end{axis}
\end{tikzpicture}
\end{document}
答案1
它们是三组参数:
xmax
-家庭- 单位向量的长度。
- 由此产生的
tikzpicture
随后是三个比率:
- A= (
xmax
-xmin
)/(ymax
-ymin
) - 乙= |x单位向量|/|y单位向量|
- C= 宽度/高度(的
tikzpicture
)
清楚地A×乙=C。
控制乙,PGFPLOTS 引入unit vector ratio
。现在如果乙指定后,PGFPLOTS 有两个选择:
- keep
xmax
-family,在这种情况下,它们由用户指定;或者 - 保持宽度和高度。
因此 PGFPLOTS 引入了另一个选项,称为unit rescale keep size
,其中“size”表示宽度和高度。如果为真,C被保留。如果为 false,A被保留。
回到你的问题:axis equal
构造如下
(pgfplots.code.tex
第 1772-1779 行)
/pgfplots/axis equal/.is choice, /pgfplots/axis equal/true/.style={ /pgfplots/unit vector ratio=1 1 1, /pgfplots/unit rescale keep size=true }, /pgfplots/axis equal/false/.style={ /pgfplots/unit vector ratio=, }, /pgfplots/axis equal/.default=true,
所以我们可以说这axis equal
是一个指定的选项乙和C,然后调整A以适应它们。这不是一个让A和C。