Мне нужен код, который инструктирует 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}