Estoy intentando dibujar una elipse dentro de un eje semilogarítmico pgfplots
. Los ejes de la elipse deben ser paralelos a los ejes de coordenadas, pero dependiendo de los radios que elija, la elipse aparece girada.
Aquí hay un 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}
que produce
¿Cómo puedo alinear la elipse con los ejes de coordenadas para que queden paralelos a los ejes de la elipse?
Respuesta1
Como regla general, trato de hacer tikz normal solo DESPUÉS de \end{axis}. En lugar de eso, guardo las coordenadas para usarlas más tarde.
\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}