以下代码指示 TikZ 绘制由方程描述的图形y=\frac{\sqrt{x^{2}-25}}{\sqrt{x-5}}
。 (该图形看起来像y=\sqrt{x+5}
。)我特别想要在 x 轴上标记两个数字-5
和。 如果不指定缩放比例,y 轴会比 x 轴放大得多,图形不会像。 为了在保持宽度和高度不变的情况下对两个轴获得相同的缩放比例,我使用了可选命令。 由于函数是正函数,因此绘制的笛卡尔平面部分几乎不包含 x 轴以下的任何内容。 因此,和的标签仅部分设置。 (您必须仔细观察才能看到这两个数字的任何部分。)我如何人为地将 y 轴向下延伸一点......至少以便在图形上绘制标签和?5
y=\sqrt{x+5}
set axis equal
-5
5
-5
5
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\setlength{\oddsidemargin}{0.0in}
\setlength{\evensidemargin}{0.0in} \setlength{\textwidth}{6.1in}
\setlength{\topmargin}{0.0in} \setlength{\textheight}{9in}
%http://pgfplots.sourceforge.net/pgfplots.pdf
\begin{document}
\hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
xmax=26,ymax=7,
axis lines=middle,
restrict y to domain=-3:6.5,
enlargelimits,
axis line style={shorten >=-0.25cm,shorten <=-0.25cm,latex-latex},
ticklabel style={fill=white},
extra x ticks={-5,5},
%extra x tick style={grid=none}
]
\pgfplotsset{ticks=none}
\addplot[domain=5:26,mark=none,samples=201] {sqrt(x + 5)} node[fill=white, below left, yshift=-3pt]{$\scriptstyle y=\frac{\sqrt{x^{2}-25}}{\sqrt{x-5}}$};
\addplot[domain=-6:5,dashed,thin,mark=none,samples=201] {sqrt(x + 5)};
\draw [densely dashed] (5,3.16227766) -- (5,0) node[below]{$5$};
\draw[fill] (-5,0) circle [radius=1.5pt] node[below]{$-5$};
\draw [fill=white] (5,3.16227766) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\hspace{\fill}
\end{document}
答案1
当您放置\pgfplotsset{ticks=none}
之后\begin{axis}
,您将关闭所有刻度标记,包括extra x ticks
您在axis
选项中设置的刻度标记。
如果您只想在某些选定的坐标上放置刻度标记,只需设置xtick={-5, 5}
:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
xmax=26,ymax=7,
axis lines=middle,
restrict y to domain=-3:6.5,
enlargelimits={abs=1cm},
axis line style={latex-latex},
ticklabel style={fill=white},
xtick={-5,5}
]
\addplot[domain=5:26,mark=none,samples=201] {sqrt(x + 5)} node [below left, yshift=-3pt]{$\scriptstyle{y}=\frac{x^{2} - 25}{\sqrt{x - 5}}$};
\addplot[domain=-6:5,dashed,thin,mark=none,samples=201] {sqrt(x + 5)};
\draw [densely dashed] (5,3.16227766) -- (5,0);
\draw [fill] (-5,0) circle [radius=1.5pt];
\draw [fill=white] (5,3.16227766) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\end{document}
答案2
使用 PSTricks 纠正现有的答案和问题。
\documentclass[pstricks,border=15pt,12pt]{standalone}
\usepackage{pst-plot}
\def\f{sqrt(x+5)}
\begin{document}
\begin{psgraph}[Dy=5,ticks=y,labels=y]{->}(0,0)(-7,-1)(12,11){12cm}{8cm}
\psset{algebraic,plotpoints=150,linecolor=red}
\psplot[linestyle=dashed,arrows=*-]{-5}{5}{\f}
\psplot[arrows=o-]{5}{12}{\f}
\psxTick(-5){-5}
\psxTick(5){5}
\uput[135](*10 {\f}){$\displaystyle y=\frac{\sqrt{x^2-25}}{\sqrt{x-5}}$}
\end{psgraph}
\end{document}
答案3
PSTricks 解决方案使用pst-plot
包裹:
\documentclass{article}
\usepackage{pst-plot}
\newcommand*\Label[1]{
\psline(!#1 #1 5 add sqrt)(#1,0)
\psdot(#1,0)
\uput[270](#1,0){$#1$}
}
\begin{document}
\psset{
unit = 0.26,
algebraic
}
\begin{pspicture}(-8,-3)(36.4,13.5)
% points
\def\pointA{-5 }
\def\pointB{5 }
\def\pointC{30 }
% drawing
\psaxes[
Dy = 5,
labels = y,
ticks = y
]{->}(0,0)(-8,-3)(35,12)[$x$,0][$y$,90]
\psplot{\pointB}{\pointC}{sqrt(x + 5)}
\psset{
linestyle = dotted
}
\psplot{\pointA}{\pointB}{sqrt(x + 5)}
\Label{\pointA}
\Label{\pointB}
\psdot[dotstyle = Bo](!\pointB \pointB 5 add sqrt)
\uput[90](!\pointC \pointC 5 sub sqrt 1 add){%
$\displaystyle y = \frac{\sqrt{x^{2} - 25}}{\sqrt{x - 5}}$%
}
\end{pspicture}
\end{document}
您所要做的就是选择\pointA
(最左边的 x 值)、\pointB
(虚线和实线相交)和\pointC
(实线的标签点和终点)的值。然后绘图将进行相应调整。