hgsave — Save figures, or parent figures of graphics handles, as RunMat FIG files.
hgsave saves the current figure, a figure handle, or the parent figures of graphics handles to RunMat FIG files. RunMat FIG persistence is figure-scene based; arbitrary graphics-subtree FIG files are not emitted yet.
Syntax
ok = hgsave(filename)
ok = hgsave(h, filename)
ok = hgsave(..., version)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
args | Any | Variadic | — | MATLAB-compatible figure persistence arguments. |
Returns
| Name | Type | Description |
|---|---|---|
ok | LogicalArray | True when the save operation completed. |
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 hgsave works
hgsave(filename)saves the current figure and appends.figwhen needed.hgsave(h, filename)accepts scalar handles and handle arrays, deduplicating handles that resolve to the same parent figure.- Version options
-v6,-v7, and-v7.3are accepted for MATLAB compatibility and map to RunMat's FIG scene format.
Does RunMat run hgsave on the GPU?
No numeric GPU kernel is launched.
Saved figures use the same scene exporter as savefig.
GPU memory and residency
hgsave is an I/O sink and returns a host logical status.
Example
Save a graphics hierarchy
plot(1:4);
hgsave(gcf, "legacy_plot.fig");Using hgsave with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how hgsave changes the result.
Run a small hgsave 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 · hidden · histogram2 · hold · line · linkaxes · openfig · 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 hgsave is executed, line by line, in Rust.
- View the source for hgsave 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.