我需要f(x) = 1 / x
在 LaTeX 中绘图,并尝试使用 Tikz。我还没有找到设置垂直范围的方法,因此值超出了范围x=0
。
直接使用 gnuplot 似乎不是一个选择,因为提供的修复这里失败。
\begin{frame}
\begin{tikzpicture}
\draw[->] (-10, 0) -- (10, 0) node[right] {$x$};
\draw[->] (0, -10) -- (0, 10) node[above] {$y$};
\draw[color=red, domain=-10:10] plot[id=x] function{1/x} node[right] { $f(x) = x$ };
\end{tikzpicture}
\end{frame}
我还没有确定 Tikz,如果有其他选择我愿意接受。
答案1
使用 TikZ 版本 2:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=.5]
\draw[->] (-10, 0) -- (10, 0) node[right] {$x$};
\draw[->] (0, -10) -- (0, 10) node[above] {$y$};
\draw[color=red, domain=-10:-0.1,samples=200] plot[id=x1] function{1/x};
\draw[color=red, domain=0.1:10,samples=200] plot[id=x2] function{1/x} node[below right = 6pt] { $f(x) =1/x$ };
\end{tikzpicture}
\end{document}
答案2
该pgfplots
包有一个绘图函数,它接受参数restrict y to domain
。它负责裁剪,并且不连接奇点左右两侧的点。
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
restrict y to domain=-10:10,
samples=1000,
minor tick num=1,
xmin = -10, xmax = 10,
ymin = -10, ymax = 10,
unbounded coords=jump,
axis x line=middle,
axis y line=middle]
\addplot[mark=none, domain=-10:10] {(1-x)/(x^2-1)};
\end{axis}
\end{tikzpicture}
\end{document}
答案3
我倾向于将所有图形剪裁成与坐标轴或网格给出的相同尺寸。在您的例子中,添加一条线
\clip (-10,-10) rectangle (10,10);
在绘制函数之前会阻止图形被绘制得比想要的更远。