openfig — Open figures saved in RunMat FIG files.
openfig(filename) loads a RunMat FIG scene file and returns the imported figure handle or a row vector of handles.
Syntax
fig = openfig(filename)
fig = openfig(filename, copies)
fig = openfig(filename, visibility)
fig = openfig(filename, copies, visibility)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
args | Any | Variadic | — | MATLAB-compatible figure persistence arguments. |
Returns
| Name | Type | Description |
|---|---|---|
fig | NumericArray | Figure handle or array of figure handles. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:figurePersistence:InvalidArgument | Arguments are missing, malformed, or incompatible with the requested figure persistence operation. | figure persistence: invalid argument |
RunMat:figurePersistence:UnsupportedFormat | The requested save/load format is recognized but not supported by RunMat's active plotting exporter. | figure persistence: unsupported format |
RunMat:figurePersistence:IoFailure | The target file cannot be read, written, flushed, synced, or atomically replaced. | figure persistence: file I/O failed |
RunMat:figurePersistence:RenderFailed | The plotting renderer or scene exporter cannot serialize the requested figure. | figure persistence: export failed |
RunMat:figurePersistence:ImportFailed | The figure file is missing, corrupt, unsupported, or incompatible with RunMat's scene importer. | figure persistence: import failed |
RunMat:figurePersistence:Internal | Internal runtime control-flow or conversion fails. | figure persistence: internal operation failed |
How openfig works
- The
.figextension is appended when the filename has no extension. openfig(filename, 'new')imports a new copy of the saved scene.reusemode is rejected until RunMat tracks figure-file reuse relationships.openfig(..., 'visible')andopenfig(..., 'invisible')override the loaded figure visibility.
Does RunMat run openfig on the GPU?
No numeric GPU kernel is launched.
Loaded figure content can later render through the normal plotting renderer.
GPU memory and residency
openfig returns host graphics handles and creates plotting state in the runtime registry.
Example
Open an invisible figure in visible state
plot(1:5);
set(gcf, "Visible", "off");
savefig("hidden_plot.fig");
fig = openfig("hidden_plot.fig", "visible");Using openfig with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how openfig changes the result.
Run a small openfig example, explain the result, then change one input and compare the output.
Related Plotting functions
2D Charts
area · bar · errorbar · heatmap · hist · histogram · loglog · pie · plot · scatter · semilogx · semilogy · stairs · stem
Other
addpoints · ancestor · animatedline · axes · barh · cla · clf · colorcube · colororder · copyobj · daspect · datacursormode · dataTipTextRow · fcontour · figure · fill3 · findobj · fsurf · gobjects · groot · hgload · hgsave · hidden · histogram2 · hold · line · linkaxes · opengl · pan · parula · patch · plotmatrix · plotyy · polarhistogram · polarplot · polarscatter · print · quiver3 · ribbon · saveas · savefig · sphere · stackedplot · subtitle · suptitle · textscatter · textscatter3 · triplot · waitbar · wordcloud · xline · xscale · xtickangle · xtickformat · xticklabels · xticks · yline · yscale · ytickangle · ytickformat · yticklabels · yticks · zoom
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how openfig is executed, line by line, in Rust.
- View the source for openfig in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.