gnuplot在线版

类别:    标签: gnuplot   阅读次数:   版权: (CC) BY-NC-SA

gnuplot是一个功能强大的开源绘图工具. 对于一个程序而言, 它自身的历史足够长了. 我使用它也有不少年了, 博文中有不少是相关的. gnuplot命令简单, 一行代码就可以绘制数据, 熟悉后可以快速地查看数据效果, 生成出版质量的图片, 分析实际数据也不在话下. gnuplot足够简单, 却也很灵活, 支持的各种语法组合起来, 基本可以视为一种完备的语言, 虽然处理速度不佳.

与Linux理念类似, gnuplot整体偏向命令行使用, 因此很大一部分功能来源于能够脚本化, 但也因此学习曲线稍陡, 对于没有命令行使用经验的新用户, 更是如此.

对于简单的数据分析与绘图, 或是演示, 使用gnuplot命令行都稍显麻烦, 如果在浏览器中运行可能更方便. 这就需要我们想办法将gnuplot移植到浏览器中, 做成在线版.

目前见到的在线版gnuplot并不多, 有已经失效的老版本, 有使用WebAssembly重新编译的gnuplot-in-the-browser, gnuplot-wasm, 还有一个node版.

gnuplot在线版支持的终端比较简单, 因为支持png之类的图形终端会大大增加其文件大小, 而且比较困难, 实际上也不大必要. 综合考虑, 只需要支持svg和canvas终端就可以了. 再考虑到只有svg终端可以使用浏览器支持的字体, 所以要精简的话, 可以只支持svg终端.

gnuplot默认的绘图设置并不美观, 为了避免每次绘图都设置一大堆选项, 可以将自己偏好的设置作为初始化文件载入, 这样也可以保证每次的绘图设置类似, 形成自己的风格. 因此, 我曾花费了不少时间仔细调整了各种选项, 尽量保证绘制的图可以直接作为论文配图.

除绘制函数与数据外, gnuplot还支持非线性拟合, 几行代码就可以将数据拟合为任何函数形式, 默认的非线性最小二乘拟合算法为Marquardt-Levenberg, 而且拟合时也可以包含x, y的误差.

尽管容易使用, gnuplot的拟合效果却很好. 以NIST非线性回归数据集为例, 对其中的所有示例, gnuplot几乎都能给出预期结果, 差异在百分之几以内. 只有几个测试失败, 与预期结果有显著差异的更多一些. 这些测试中有一些非常困难的, 因此, 得到这样的结果并不意外. 具体的测试结果可以参考Gnuplot Online上的代码与测试结果.

◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: gnuplot的关键词与缩写
后一篇: 分析每个水分子的氢键

访问人次(2015年7月 9日起): | 最后更新: 2025-04-17 00:34:47 UTC | 版权所有 © 2008 - 2025 Jerkwin