15.1 绘图简介

Octave 的早期版本通过使用 gnuplot 提供绘图功能。该功能仍然可用。但是,Octave 的较新版本使用 OpenGL 提供了更现代化的绘图功能。所使用的绘图系统由 graphics_toolkit 函数控制。请参阅 图形工具包

函数调用 graphics_toolkit ("qt") 选择 Qt/OpenGL 系统,graphics_toolkit ("fltk") 选择 FLTK/OpenGL 系统,graphics_toolkit ("gnuplot") 选择 gnuplot 系统。这三个系统可以通过使用每个图形的图形句柄的 graphics_toolkit 属性进行选择性使用。这在 图形数据结构 中进行了说明。

警告:基于 OpenGL 的工具包内部使用单精度变量,这将把可以显示的最大值限制为约 10^{38}。如果您的数据包含更大的值,则必须使用支持高达 10^{308} 的 gnuplot 工具包。类似地,单精度变量只能准确地表示 6-9 个以 10 为基数的数字。如果您的数据包含非常细微的差异(约 1e-8),则无法使用基于 OpenGL 的图形工具包解决这些问题,需要使用 gnuplot 工具包。

注意:gnuplot 图形工具包使用第三方程序 gnuplot 进行绘图。从 Octave 到 gnuplot 的通信是通过单向管道完成的。这对性能和功能都有影响。性能明显较慢,因为整个数据集(可能有很多兆字节)必须通过管道传递给 gnuplot。功能受到负面影响,因为管道是从 Octave 到 gnuplot 的单向管道。Octave 无法了解用户与绘图窗口的交互(无论是调整大小、移动、关闭还是其他任何操作)。如果稍后要从 Octave 访问图形,建议不要与 gnuplot 窗口交互(或关闭)。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2