
Когда я строю график $(x^2+x+1)/(x+1)$, на нем появляется сплошная вертикальная линия, которая является вертикальной асимптотой. Есть ли способ сделать эту линию пунктирной, а также включить наклонную асимптоту аналогичным образом?
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = center,
xlabel = $x$,
ylabel = {$y$},
xmax = {5},
xmin = {-5},
ymax = {5},
ymin = {-5},
legend pos = outer north east
]
\addplot [
domain=-10:10,
samples=100,
color=black,
]
{(x^2+x+1)/(x+1)};
\addlegendentry{2 turning points}
\end{axis}
\end{tikzpicture}
\end{document}
решение1
Вы можете использовать restrict y to domain=-10:10
для удаления любых точек данных за пределами этого диапазона и, таким образом, избавиться от вертикальной асимптоты как части основного графика. Кроме того, я позволил себе уменьшить область функции до -5:5
(те же значения, что xmin
и xmax
).
Чтобы построить наклонную асимптоту, добавьте еще один график с функцией {x}
.
Для построения вертикальной асимптоты можно использовать относительную систему координат осей, так что асимптота займет всю высоту графика, даже если вы решите изменить пределы осей.
\documentclass[tikz,border=5pt]{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = center,
xlabel = $x$,
ylabel = {$y$},
xmax = {5},
xmin = {-5},
ymax = {5},
ymin = {-5},
restrict y to domain = -10:10,
legend pos = outer north east
]
\addplot [
domain=-5:5,
samples=100,
color=black,
]
{(x^2+x+1)/(x+1)};
\addlegendentry{2 turning points}
% Oblique asymptote at y=x
\addplot[dashed] {x};
% Vertical asymptote at x=-1
\draw[dashed] ({axis cs:-1,0}|-{rel axis cs:0,0}) -- ({axis cs:-1,0}|-{rel axis cs:0,1});
\end{axis}
\end{tikzpicture}
\end{document}