
Eu estava tentando fazer com que os comprimentos do gráfico do meu pgfplot tivessem a mesma proporção de comprimento que obtenho nas coordenadas tikz fora dos gráficos, por exemplo.
Aqui está a imagem que uso como exemplificação:
\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}
Gostaria de ter uma relação de 1:1 entre o comprimento do eixo e as "coordenadas", mas não sei como fazer isso.
Obrigado.
Responder1
Neste caso você só precisa adicionar [scale only axis]
para fixar a largura e a altura para corresponder às coordenadas da tela. As opções [unit vector ratio]
ou [equal axis]
são redundantes.
\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}