
Я уже нарисовал графическую функцию, которая не определена при -3 и -2. Но каким-то образом я попытался нарисовать вертикальную асимптоту, x=-3 и x=-2, и тут я застрял. Насколько я знаю, используется \addplot
для рисования f(x), а не f(y). Кто-нибудь может мне помочь?
\documentclass{report}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = left, axis x line= center,
axis y line= center,
xlabel = $x$, ylabel = {$f(x)$},
xmajorgrids=true, ymajorgrids=true,
restrict y to domain=-50:50,
ymin=-40, ymax=40,]
\addplot[
samples=500, color=red, thick]
{(x-1)/(x^2+5*x+6)};
\addplot[
samples=100, color=blue, thin, dashed]
% {???}; <= how can I get the x=-3 line?
\end{axis}
\end{tikzpicture}
\end{document}
решение1
Хороший способ добавить эти асимптоты — использовать \draw
команду:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xlabel=\(x\),
ylabel=\(f(x)\),
grid=major,
restrict y to domain=-50:50,
samples=501,
]
\def\ymin{\pgfkeysvalueof{/pgfplots/ymin}}
\def\ymax{\pgfkeysvalueof{/pgfplots/ymax}}
\addplot [red, thick]
{(x-1)/(x^2+5*x+6)};
\draw [red, thin, dashed] (-3, \ymin) -- (-3, \ymax);
\draw [red, thin, dashed] (-2, \ymin) -- (-2, \ymax);
\end{axis}
\end{tikzpicture}
\end{document}
Обратите внимание, что я позволил себе упростить несколько вариантов. Использование \pgfkeyvaluesof
означает, что если вы хотите скорректировать значения ymin
или ymax
, асимптоты также скорректируются автоматически.