Построение асимптот и графика функции на изображенной декартовой плоскости с использованием pgfplots

Построение асимптот и графика функции на изображенной декартовой плоскости с использованием pgfplots

Мне нужен код, который инструктирует TikZ строить асимптоты графика для рациональной функции y=(x+2)/(x-1). Какой код для построения этих линий в виде пунктирных линий со стрелками? (Я удаляю точку (-3, 0,25) из графика.) Они должны быть немного короче осей.

Я бы хотел, чтобы больше функции было нарисовано на графике. Я указал, что область должна быть от -15 до 15, за исключением интервала около 1. Не похоже, что все нарисовано на графике. Я бы также хотел продлить ось Y в обоих направлениях, чтобы график поместился на изображенной декартовой плоскости.

Я хотел бы одну отметку на оси x: -3. Она должна быть набрана мелким шрифтом. Я использовал, tick style={font=\small}но шрифт не изменился. Мне не нужны отметки на оси y.

Приводите код только с использованием pgfplots.

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}


\begin{document}
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    ymin=-5,ymax=5,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    tick style={font=\small},
    ticklabel style={fill=white},
    xtick={-3}
]


% Draw the two parts separately with individual domains:
\addplot[samples=50,domain=-15:1-0.27] {(x+2)/(x-1)};
\addplot[samples=50,domain=1+0.33:15]  {(x+2)/(x-1)};
\draw [fill=white] (-3,0.25) circle [radius=1.5pt] node[left]{};
\end{axis}

\end{tikzpicture}

решение1

Я не знаю точно, что вы пытаетесь сделать, но вот что я понял.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    ymin=-5,ymax=5,
    restrict y to domain=-10:10,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    ytick=\empty,xtick={-2}
]
\addplot[samples=250,domain=-15:15] {(x+2)/(x-1)};
\draw[dashed,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) 
                       -- ({{1,0}}|-{{axis description cs:1,0}});
\end{axis}
\end{tikzpicture}
\end{document}

введите описание изображения здесь

решение2

Отвечая на ваш вопрос о размещении меток осей: по сути, вы можете сделать то, что сделал Кристиан Фойерзенгер в своем ответе наКак можно настроить положение xlabel и ylabel с помощью pgfplots?, с небольшой корректировкой. Если вы установите

xlabel style={at={(ticklabel* cs:1)}, anchor=north west}
ylabel style={at={(ticklabel* cs:1)}, anchor=south west}

метки будут размещены по желанию. Ключ at={(ticklabel* cs:1)}указывает PGFPlots разместить узел метки на кончике осевой линии. Ключ anchor=north westуказывает PGFPlots не центрировать узел метки на кончике осевой линии, а вместо этого разместить верхний левый угол (т. е. «северо-западный» угол) на кончике осевой линии.

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    axis lines=middle, enlargelimits,
    xlabel=$x$, ylabel=$y$,
    xlabel style={at={(ticklabel* cs:1)},anchor=north west},
    ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]

\addplot [only marks, domain=-10:10] {rand+2*x};
\end{axis}

\end{tikzpicture}
\end{document}

Связанный контент