在数学分析(或高等数学)甚至中学数学中我们经常会遇到一类题目,即求两个函数与x轴或y轴所围成图像的面积或者求两个曲线相交阴影部分的面积。遇到这类题目,如果我们能画出题目中所给定的函数图像,那么做这种题那一定事半功倍。平时我们在纸上画肯定轻而易举,那么我们如何用Latex画出来呢,今天我们将介绍如何用Tikz宏包画这类图形。
我们先看下面一道例题:
首先我们要画出这两个函数图像,
演示代码:
\documentclass{standalone}
\usepackage{tikz,mathpazo} %图形绘制宏包
\usepackage{txfonts}%字体宏包
\usepackage{booktabs} %表格线条粗细控制
\begin{document}
\begin{document}
\begin{tikzpicture}[scale=1]
%设置坐标
\draw[->](-0.2,0)--(0,0)node[below right]{$O$}--(10,0)node[below]{$x$};
\draw[->](0,-5)--(0,5.5)node[left]{$y$};
%画两个曲线的函数图像
\draw[domain=0:8.5, very thick]plot(\x,{\x-4});
\draw[domain=-3.5:3.5, very thick]plot({2.5+0.5*(\x)^2},\x);
%给函数添加标签
\node at(8,4.5){$y=x-4$};\node[below] at(8.4,-3.316){$y^2=2x-5$};
%给交点添加虚线和坐标
\draw[densely dashed](0,3)node[left]{$3$}--(7,3)--(7,0)node[below]{$7$};
\draw[densely dashed](0,-1)node[left]{$-1$}--(3,-1)--(3,0)node[below]{$3$};
%给两条曲线围成的区域画阴影
\draw[densely dashed,domain=2.78:6.2]plot(\x,{\x-3.5});
\draw[densely dashed,domain=2.6:5.4]plot(\x,{\x-3});
\draw[densely dashed,domain=2.5:4.5]plot(\x,{\x-2.5});
\draw[densely dashed,domain=2.52:3.9]plot(\x,{\x-2.25});
\end{tikzpicture}
\end{document}
注:\documentclass{}中选择standalone,这样会使生成的文档尺寸会贴合图形大小(读者写论文或作业时也可以直接用article)
其实我们可以看到,本文跟上一节画图已经完全不一样了。上一节介绍到的矢量图(简单的草图)只是简单的利用点和直线等进行组合,点,曲线的位置甚至图像大小等基本由作者自己决定。
但是在本文中,在给定了具体的函数后,就不能再简单使用点,线去画图了,而是使用tikz中自带的画函数图像的命令去画,这样画出来的图像也更加精确。另外,画图中的最后一部分即阴影部分,我用了一种比较偷懒的办法,即用几条平行于边界的虚线来代替阴影部分。如果想要整体更加美观,读者可以在两条曲线围成的区域中自行找几条平行的虚线代替阴影部分。
画图是个非常考验耐心的工作,每一个点都得处理好才能画出比较美观的图。
好了,懂得了tikz画图的原理再参考我这段代码,相信大家都能画出来漂亮的图像~