🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
本文最初写于 2011-07-03于 sohu 博客,这次博客搬家一起搬到这里来。 版权所有,转载请注明出处。  maxima 本身不具有作图功能,但是依靠其他一些软件包,也可以做出专业的图形。 其中,最基本的绘图命令 plot2d 和 plot3d 命令利用 gnuplot 完成真正的作图功能。 Gnuplot是一个很强大的基于命令行的函数及数据作图程序,集成了计算、拟合、脚本编程等功能, 包括 Maxima,Octave 等在内的一些软件均使用 gnuplot 作为后台程序实现作图功能。 下面通过一系列的例子展开说明。 1 二维绘图命令 二维绘图是我们最常用到的做图方式,细分下去又可以分为函数绘图、数据点绘图和参数方程绘图。 下面依次进行介绍。 1.1 二维函数绘图 基本命令是plot2d,它的基本使用方式是: plot2d (y(x), [x, min_x, max_x], [y, min_y, max_y], options, ...) 也就是函数表达式,加上变量取值范围,再加上一些控制作图的参数列表。 y的取值范围不是必需的。常用的控制参数我们在下面逐步介绍。先看一个例子: | (%i1) | plot2d(sin(t),[t,0,10]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233aa6375.PNG) 上面的例子是在单独的 gnuplot 窗口中显示。如果使用的是 wxMaxima ,还可以将结果直接显示在 wxMaxima 文档中: | (%i2) | wxplot2d(sin(t),[t,0,10]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233abbed0.PNG) 注意观察上面两个例子惟一的区别就是在 wxMaxima 中使用的是 wxplot2d 命令。其他都是相同的。 如果要限制 y 方向的显示范围,可以如下方式: | (%i3) | wxplot2d(1/x,[x,0.1,2],[y,0,5]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233acb2a4.PNG) 若同时有几个函数,plot2d 的使用方式是: plot2d ([y_1(x), y_2(x), ...], [x, min_x, max_x], ..., options, ...) 这时候几个函数被放在了方括号中,也就是一个列表里。 下面是一个简单的例子: | (%i4) | wxplot2d([sin(x),cos(x)],[x,0,10]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233ad8d0d.PNG) 前面的例子都没有用到 option 选项。下面以几个例子说明如何加入 option。 首先是添加 legend: | (%i5) | wxplot2d([sin(x),cos(x)],[x,0,10], [legend, "sin", "cos"]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233ae7ce3.PNG) 在添加了 legend 的同时再添加 label: | (%i6) | wxplot2d([sin(x),cos(x)],[x,0,10],[legend, "sin", "cos"],[xlabel, "X Label"], [ylabel, "Y Label"]); | |-----|-----| ![](https://box.kancloud.cn/2016-01-24_56a4233b031d5.PNG)