使用 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

回答有關軸標籤放置的問題:您基本上可以按照 Christian Feuersänger 在回答中所做的操作如何使用 pgfplots 調整 xlabel 和 ylabel 的位置?,稍加調整。如果你設定

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}

相關內容