
У меня возникли проблемы с рисованием простого круга на графике с помощью tikz. Когда я пробую случаи из документации или другие примеры из разных вопросов, я получаю диагональный эллипс. Вот что у меня есть на данный момент.
\documentclass[12pt]{extarticle}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
axis y line=center,
axis x line=middle,
axis on top=false,
xmin=-6.5, xmax=6.5,
ymin=-6.5, ymax=6.5,
grid,
xtick={-6,...,6},
xticklabels={-6,...,6},
ytick={-6,...,6},
yticklabels={-6,...,6},
]
\draw (0,0) circle [radius=3];
\end{axis}
\end{tikzpicture}
\end{document}
У меня получается диагональный эллипс, если использовать радиус следующим образом:
Затем я попробовал использовать формат эллипса, где я изменил \draw (0,0) circle [radius=3];
на \draw (0,0) circle (45pt and 45pt);
Как вы можете видеть из моего результата,
Я получаю круг, но он, кажется, выстраивается только по оси X и выходит за пределы оси Y. График на самом деле не квадратный, или это форматирование круга создает проблемы?
решение1
Похоже, сохранение \draw (x,y) circle[radius=?]
работало нормально после добавления axis equal image
в мой код. Моя окончательная рабочая версия:
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
axis y line=center,
axis x line=middle,
axis on top=false,
axis equal image,
xmin=-6.5, xmax=6.5,
ymin=-6.5, ymax=6.5,
grid,
xtick={-6,...,6},
xticklabels={-6,...,6},
ytick={-6,...,6},
yticklabels={-6,...,6},
]
\draw (1,3) circle[radius=37pt];
\end{axis}
\end{tikzpicture}
\end{document}
Сохранив рисунок внутри оси, у меня не возникло дополнительных проблем с позиционированием круга.