Erhalten Sie ein Verhältnis von 1:1 zwischen dem Plot von pgfplot und den „Größen des Dokuments“.

Erhalten Sie ein Verhältnis von 1:1 zwischen dem Plot von pgfplot und den „Größen des Dokuments“.

Ich habe beispielsweise versucht, die Plotlängen meines pgfplots auf das gleiche Längenverhältnis zu bringen, das ich in den Tikz-Koordinaten außerhalb der Plots erhalte.

Hier ist das Bild, das ich als Beispiel verwende:

Bildbeschreibung hier eingeben

\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}

Ich hätte gerne ein Verhältnis von 1:1 zwischen der Achsenlänge und den „Koordinatenlängen“, weiß aber nicht, wie ich das hinbekommen soll.

Danke.

Antwort1

In diesem Fall müssen Sie nur [scale only axis]die Breite und Höhe so anpassen, dass sie den Bildschirmkoordinaten entsprechen. Die Optionen [unit vector ratio]oder [equal axis]sind redundant.

\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}

Demo

verwandte Informationen