我想在 -5 到 30 的范围内绘制函数 $y = \sqrt{x^{2} - 4}/\sqrt{x - 2}$ 的图形。此函数将是 Sy = \sqrt{x + 2}$,限制在开区间 $(2, \infty)$ 内。因此,我想要一个在 (2,0) 处的开圆。现在,一条水平网格线穿过它,函数的图形也穿过它。
我想要一条从 (2,0) 到 x 轴的虚线,并在那里画一个刻度标记,在它下面标上标签“2”。我还想要在 x 截距下面画一个刻度标记,在它下面标上标签“-2”。
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid=both,
xmax=41,ymax=6,
axis lines=middle,
restrict y to domain=-1.5:6.5,
enlargelimits,
axis line style={shorten >=-0.25cm,shorten <=-0.25cm,latex-latex},
ticklabel style={fill=white}]
\addplot[domain=2:36,mark=none,samples=200] {sqrt(x + 2)} node[fill=white, below]{$y=\frac{x^{2} - 4}{\sqrt{x-2}}$};
\addplot[domain=-2:2,dashed,mark=none,samples=200] {sqrt(x + 2)};
\draw (axis cs:2,2) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\end{document}
答案1
要在指定坐标处获得额外的刻度标记而不添加网格线,请使用
extra x ticks={-2,2},
extra x tick style={grid=none}
要用白色填充圆圈,请使用
fill=white
(2,2)
要获取从到 的垂直虚线(2,0)
,请使用
\draw [dashed] (2,2) -- (2,0);
axis cs:
(如果您使用或更高版本,则不需要\pgfplotsset{compat=1.11}
)。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid=both,
xmax=41,ymax=6,
axis lines=middle,
restrict y to domain=-1.5:6.5,
enlargelimits,
axis line style={shorten >=-0.25cm,shorten <=-0.25cm,latex-latex},
ticklabel style={fill=white},
extra x ticks={-2,2},
extra x tick style={grid=none}
]
\addplot[domain=2:36,mark=none,samples=200] {sqrt(x + 2)} node[fill=white, below]{$y=\frac{x^{2} - 4}{\sqrt{x-2}}$};
\addplot[domain=-2:2,dashed,mark=none,samples=200] {sqrt(x + 2)};
\draw [densely dashed] (2,2) -- (2,0);
\draw [fill=white] (2,2) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\end{document}