我想要指示 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}