在 Linux 上使用 KmPlot 绘图
本期《Linux Journal》杂志标志着该杂志创刊 25 周年。因此,我想回顾一下我第一次写文章是什么时候,结果让我震惊的是竟然是 2000 年。我太年轻了,不可能写文章超过 18 年!祝《Linux Journal》以及所有使其成为今天的样子的作者们再创辉煌 25 年。
在本文中,让我们来看看 KmPlot 绘图程序。KmPlot 是 KDE 项目 EDU 套件程序的一部分,它旨在绘制函数并与之交互,以了解它们的行为。由于它是 KDE 项目的一部分,因此它应该存在于大多数软件包管理系统中。例如,在基于 Debian 的系统中,您可以使用以下命令安装它
sudo apt-get install kmplot
当您首次启动 KmPlot 时,您会看到一个空白的工作区,您可以在其中开始使用数学函数。在右侧,有一个主绘图窗口,所有图形显示都将发生在那里。在左侧,有一个函数列表窗口,您可以在其中找到您已定义并计划使用的所有函数。

图 1. 启动后,您可以开始输入函数并了解它们的行为。
首先要做的是创建一些要在 KmPlot 中使用的函数。单击函数窗口底部的“创建”按钮,打开一个下拉菜单。在这里,您可以从多种绘图类型中选择,例如笛卡尔坐标、极坐标或微分。例如,单击“笛卡尔坐标”选项会打开一个新窗口,您可以在其中创建您的函数。

图 2. 您可以使用内置调色板选择函数和常数,以构建您感兴趣的函数。
您可以使用预定义的常数和更简单的函数来构建您想要研究的特定函数。完成之后,KmPlot 将更新主窗口,您将看到生成的绘图。
存在几个默认设置,您可以就其外观进行分配。单击左侧窗格底部的“高级”按钮,打开一个新的对话窗口,您可以在其中更改一些默认设置。

图 3. 单击“高级”按钮可在绘图窗口中设置多个选项。
在这里,您可以设置函数名称的标签,以及最大值和最小值的标签。相同的左下方面板也有选项卡,您可以在其中让 KmPlot 显示所选函数的导数和积分。例如,您可以绘制函数的导数。

图 4. 您可以选择绘制给定函数的一阶或二阶导数。
为了更好地突出显示新绘图,请单击颜色按钮并为导数曲线选择新颜色。您还可以绘制给定函数的积分。

图 5. 您可以为积分设置多个选项,包括数值方法在计算和绘制结果时必须达到的精度。
您可以创建更复杂的绘图,其中包含函数的组合。例如,您可以同时绘制常规笛卡尔坐标图和参数图。

图 6. 有时,一起查看多个绘图有助于更好地了解 underlying mathematics。
当您想要更深入地了解给定函数的 underlying behavior 时,这非常有用。从另一个角度(字面意义和比喻意义上)来看它可能是非常宝贵的。
还有其他几个工具可用于处理这些绘图。单击“工具”→“绘图区域”打开一个新窗口,您可以在其中选择一个笛卡尔坐标绘图并计算所述曲线与 x 轴之间的面积。这在物理学和工程学环境中非常有用,在这些环境中,曲线下方的面积可能具有物理对应物。

图 7. 有时您需要计算曲线下方的面积,尤其是在科学背景下获得物理见解时。
您还可以单击“工具”→“计算器”打开一个新窗口,您可以在其中进行快速计算。

图 8. 有时您可能需要在处理绘图时进行快速计算。
“工具”菜单中的最后两项是“查找最大值”和“查找最小值”。使用这两个选项,您可以要求 KmPlot 查找局部最大值或最小值。您只需要给它一个搜索范围,以便它可以约束搜索。

图 9. 您可以找到您正在绘制的函数的最大值和最小值。
您可能拥有诸如正切函数之类的函数,其全局最大值位于正无穷大,全局最小值位于负无穷大。
绘制函数最重要的部分之一是使用的坐标系。在 KmPlot 中,您可以通过单击“视图”→“坐标系”来定制坐标系。在这里,您可以更改轴的 x 和 y 限制。此外,您可以设置轴网格间距。您甚至可以定义自定义网格间距函数。

图 10. 您可以更改坐标系如何为绘图定义的一些选项。
由于 KmPlot 是 KDE 项目的一部分,因此它继承了该项目的多项功能。一个有趣的功能是能够编写 KmPlot 行为的脚本。这是通过 D-Bus 命令完成的。例如,您可以使用以下命令告诉 KmPlot 绘制函数
qdbus org.kde.kmplot-PID /parser
↪org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""
您甚至可以激活菜单项和对话框。您可以使用此功能将 KmPlot 作为组件包含在更大的工作台或平台构想中。
一旦您在分析中投入了一些工作,您可能希望能够保存它。单击“文件”→“保存”或“文件”→“另存为”以专有文件格式保存您完成的工作。保存您的工作以供其他用途的另一个选择是抓取绘图本身的图像。单击“文件”→“导出”以将绘图窗口保存为常用图像文件格式之一。这样,您可以将它们导入到文档或演示文稿中。