Zeichnen einer Ellipse innerhalb einer halblogarithmischen Achse eines pgfplots

Zeichnen einer Ellipse innerhalb einer halblogarithmischen Achse eines pgfplots

Ich versuche, eine Ellipse innerhalb einer halblogarithmischen pgfplotsAchse zu zeichnen. Die Ellipsenachsen sollten parallel zu den Koordinatenachsen sein, aber je nach den von mir gewählten Radien erscheint die Ellipse gedreht.

Hier ist ein MWE:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\pgfplotsset{width=7cm}
\begin{document}
 \begin{tikzpicture}
  \begin{axis}[ymode=log]
  \addplot coordinates{
    (0,10) (1,300) (2,3347) (3,5000)
  };
  \draw 
  (axis cs:1,300) ellipse [
    x radius = 1, y radius = 10];   
  \end{axis}
 \end{tikzpicture}
\end{document}

das erzeugt

Screenshot der pgfplots-Ausgabe

Wie kann ich die Ellipse an den Koordinatenachsen ausrichten, sodass diese parallel zu den Ellipsenachsen liegen?

Antwort1

Normalerweise versuche ich, normale Tikz-Aktionen erst NACH \end{axis} durchzuführen. Stattdessen speichere ich die Koordinaten für die spätere Verwendung.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\pgfplotsset{width=7cm}

\newlength{\rx}
\newlength{\ry}

\begin{document}
 \begin{tikzpicture}
  \begin{axis}[ymode=log]
  \addplot coordinates{
    (0,10) (1,300) (2,3347) (3,5000)
  };
  \coordinate (Center) at (axis cs:1,300);
  \coordinate (Radius) at (axis cs:2,3000);% x+1, y*10 relative to Center
  \end{axis}
  \pgfextractx{\rx}{\pgfpointdiff{\pgfpointanchor{Radius}{center}}{\pgfpointanchor{Center}{center}}}%
  \pgfextracty{\ry}{\pgfpointdiff{\pgfpointanchor{Radius}{center}}{\pgfpointanchor{Center}{center}}}%
  \draw (Center) ellipse [x radius = \rx, y radius = \ry]; 
 \end{tikzpicture}
\end{document}

Ellipse

verwandte Informationen