我试图使我的 pgfplot 的绘图长度与我在绘图外的 tikz 坐标中获得的长度比例相同。
以下是我用作示例的图像:
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}
\draw[fill] (0,4.5) coordinate[label={right:\footnotesize{(0,4.5)}}] circle (0.06);
\draw[fill] (6,0) coordinate[label={above:\footnotesize{(6,0)}}] circle (0.06);
\begin{axis}[
width=6cm,
height=4.5cm,
axis lines=middle,
unit vector ratio=1 1,
xmax=6,
ymax=4.5,
xmin=0,
ymin=0,
samples=50,
xtick distance=1,ytick distance=0.5,
every tick label/.append style={font=\tiny}
]
\addplot[domain=0:6] {1/\x^2};
\end{axis}
\end{tikzpicture}
\end{document}
我希望轴长和“坐标”之间的比例为 1:1,但我不知道如何做到这一点。
谢谢。
答案1
在这种情况下,您只需添加[scale only axis]
以固定宽度和高度以匹配屏幕坐标。[unit vector ratio]
或[equal axis]
选项是多余的。
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}
\draw[fill] (0,4.5) coordinate[label={right:\footnotesize{(0,4.5)}}] circle (0.06);
\draw[fill] (6,0) coordinate[label={above:\footnotesize{(6,0)}}] circle (0.06);
\begin{axis}[scale only axis,
width=6cm,
height=4.5cm,
axis lines=middle,
xmax=6,
ymax=4.5,
xmin=0,
ymin=0,
samples=50,
xtick distance=1,ytick distance=0.5,
every tick label/.append style={font=\tiny}
]
\addplot[domain=0:6] {1/\x^2};
\end{axis}
\end{tikzpicture}
\end{document}