gca — Return the current axes handle in MATLAB and RunMat.

gca returns the handle for the current axes in the active figure, or in a specific figure when a figure handle is supplied. Optional struct mode returns a snapshot of current axes context for diagnostics and tooling.

Syntax

ax = gca()
ax = gca(fig)
s = gca('struct')

Inputs

NameTypeRequiredDefaultDescription
figNumericScalarYesFigure handle whose current axes should be returned.
modeStringScalarYesOnly 'struct' is supported.

Returns

NameTypeDescription
axNumericScalarCurrent axes handle.
sAnyAxes state struct with handle/figure/rows/cols/index fields.

Errors

IdentifierWhenMessage
RunMat:gca:InvalidArgumentUnsupported arguments are provided.gca: unsupported arguments

How gca works

  • gca() returns a scalar numeric axes handle.
  • gca(fig) returns the current axes handle for the specified figure handle.
  • gca('struct') returns a struct with fields handle, figure, rows, cols, and index.
  • The current axes reflect the active subplot when subplot has been used.
  • The numeric axes handle can be passed to get and set, including common axes styling such as FontSize.
  • Unsupported arguments raise gca plotting errors.

Does RunMat run gca on the GPU?

gca performs no provider dispatch; it only reads the active axes state from the plotting registry.

GPU memory and residency

gca returns host-side handles or structs and does not interact with GPU residency.

Examples

Read the current axes handle

figure(1);
ax = gca()

Expected output:

% ax is a numeric axes handle

Inspect the active subplot layout

subplot(2, 2, 3);
info = gca("struct")

Expected output:

info =
  struct with fields:
    handle
    figure
    rows
    cols
    index

Read the current axes of a specific figure

f1 = figure(1);
subplot(2, 2, 3);
f2 = figure(2);
ax1 = gca(f1)

Expected output:

% ax1 is the current axes handle for figure 1

Style the current axes

plot(1:3, [1 2 3]);
set(gca, 'FontSize', 10);

Using gca with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how gca changes the result.

Run a small gca example, explain the result, then change one input and compare the output.

FAQ

What is special about gca('struct')?

It is a RunMat extension that returns a struct snapshot of the active axes state instead of just the encoded numeric handle.

Does gca reflect subplot selection?

Yes. When a subplot is active, gca reports that subplot's axes handle and metadata.

Can gca inspect a non-current figure?

Yes. Pass a figure handle, for example gca(fig), to read that figure's current axes without changing the active figure.

Does gca run on the GPU?

No. It only reads host-side plotting state.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how gca is executed, line by line, in Rust.

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.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.