
Я пытаюсь нарисовать функцию в tikzpicture, которая показывает только определенные точки, и пометить эти точки.
Мой код выглядит следующим образом:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{patterns, patterns.meta}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{backgrounds, intersections}
\begin{document}
\begin{tikzpicture}[scale=1]
\begin{axis}[
width=0.6\linewidth,
xmin=-72,
xmax= 24,
ymin=-16,
ymax= 40,
x=0.1cm,
y=0.1cm,
xtick distance=8,
ytick distance=8,
axis lines=middle,
xlabel=$\Re z_n$,
ylabel=$\Im z_n$,
grid={both}]
\addplot[blue, only marks, domain=1:12, samples=12] ({sqrt(2)^(\x)*cos(deg(\x*pi/4))},{sqrt(2)^(\x)*sin(deg(\x*pi/4))});
\end{tikzpicture}
\end{document}
Этот код рисует точки. Теперь я хочу пометить эти точки. Я попробовал следующий код, но он не работает. Надеюсь, вы сможете мне помочь.
\foreach \x in {1,...,12}
\draw[blue] ({sqrt(2)^(\x)*cos(deg(\x*pi/4))},{sqrt(2)^(\x)*sin(deg(\x*pi/4))}) node[above] {$z_\x$};
Мой вопрос: можно ли добавлять метки непосредственно в функцию addplot или нужно писать цикл, который добавляет метки? И как выглядит правильный код.
Я надеюсь, что вы можете мне помочь.
решение1
Нравится это? Сnodes near coords*={$z_{\coordindex}$},
Код
\documentclass[boreder=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}[scale=1]
\begin{axis}[
width=0.6\linewidth,
xmin=-72,
xmax= 24,
ymin=-16,
ymax= 40,
x=0.1cm,
y=0.1cm,
xtick distance=8,
ytick distance=8,
axis lines=middle,
xlabel=$\Re z_n$,
ylabel=$\Im z_n$,
grid={both},
nodes near coords*={$z_{\coordindex}$},
]
\addplot+[blue, only marks, domain=1:12, samples=12] ({sqrt(2)^(\x)*cos(deg(\x*pi/4))},{sqrt(2)^(\x)*sin(deg(\x*pi/4))});
\end{axis}
\end{tikzpicture}
\end{document}