Quero desenhar um círculo com raio especificado nas coordenadas dos dados. Mas eu não entendo isso. Aqui está um círculo com raio "5", mas o raio das coordenadas dos dados parece ser de apenas 0,05. o que estou perdendo?
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
% pgfplots package manual at https://ctan.org/pkg/pgfplots?lang=en
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-0.7,xmax=0, xlabel={$x$}, xtick={-1,-0.9,...,0}, minor xtick={-1,-0.95,...,0},
ymin=0.3,ymax=1.0, ylabel={$y$}, ytick={0, 0.1,...,1}, minor ytick={0, 0.05,...,1},
samples=500,domain=-1:0,
grid=both,
title={\large shapes on axis}]
\addplot[blue]({x}, {1-x*x} );
\draw (axis cs:-0.4,0.5) circle [radius=5];
\end{axis}
\end{tikzpicture}
\end{document}
Responder1
Você deve sempre definir o compat
nível ao usar PGFPlots. Ao configurá-lo para algo novo, o axis cs
padrão é interno axis
e o raio de um círculo é o esperado.
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-0.7,xmax=0, xlabel={$x$}, xtick={-1,-0.9,...,0}, minor xtick={-1,-0.95,...,0},
ymin=0.3,ymax=1.0, ylabel={$y$}, ytick={0, 0.1,...,1}, minor ytick={0, 0.05,...,1},
samples=500,domain=-1:0,
grid=both,
title={\large shapes on axis}]
\addplot[blue]({x}, {1-x*x} );
\draw (-0.4,0.5) circle [radius=0.05];
\end{axis}
\end{tikzpicture}
\end{document}
Responder2
Esta é apenas uma resposta adicional para explicar mais o comportamento dado na resposta aceita (correta).
pgfplots
tem uma estrutura de compatibilidade com versões anteriores muito boa - quando o autor altera alguma coisa, ou até mesmo corrige algum bug, ele o faz sob um mecanismo de "nível de compatibilidade".
Por exemplo, as primeiras versões do pacote tinham um posicionamento muito flexível dos ticks dos eixos. Christian Feuersänger corrigiu isso, mas agora havia um problema: todos os desenhos já feitos em documentos antigos mudariam, criando um trabalho doloroso e inesperado para os autores. Portanto, o novo comportamento, mesmo que seja indiscutivelmente correto, deve ser ativado manualmente, neste caso compat=1.3
- o que indica que você não deseja compatibilidade com versões anteriores a esta.
Na versão 1.11, o sistema de coordenadas padrão no ambiente de eixos foi alterado para que o sistema de coordenadas para addplot
e draw
fosse o mesmo; antes (como você viu) eles eram diferentes (detalhes no manual muito fino).
Por fim, se você não usa um nível de compatibilidade, pgfplots
reclame bem alto com um aviso... Que ninguém nunca leu ;-)