PKUWWT

消遣时光

使用tikz绘制函数

虽然tikz具备计算功能,但是要想绘制解析函数,确实非其长项。然而,tikz有一种使用gnuplot的机制,gnuplot可是绘制这种图像的好手。

直接上代码

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{center}\begin{tikzpicture}[domain=0.25:4]
	\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
	\draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$};
	\draw[color=red] plot[id=x] function{1/x} node[above] {$y=\frac{1}{x}$};
\end{tikzpicture}\end{center}
\end{document}

代码中的function{1/x}的作用当然就是指定函数啦。

这里的id=x的作用是生成一个jobname.<id>.table,比如test.x.table。但是这个文件其实是离散点的数据文件,它依赖于gnuplot。具体来说,latex生成一个jobname.<id>.gnuplot文件,然后会尝试用gnuplot来处理此文件,并生成jobname.<id>.table文件。

但是,由于安全原因,latex很可能不会调用gnuplot,因此,需要手动执行gnuplot jobname.<id>.gnuplot。有了jobname.<id>.table,latex编译tikz图片时就不需要gnuplot了。