figure2struct

Categorize MATLAB graphics objects in a figure/axes and return them as fields of a structure

https://github.com/yulkang/figure2struct

You are now following this Submission

Categorize MATLAB graphics objects in a figure/axes and return them as fields of a structure.
h = figure2struct(src)
src : handle of a figure, an axes or handles of its children.
gcf by default.
When a figure is given, the returning struct h has the same
number of rows and columns as the subplots.
The rows and columns are determined based on the position,
without using subplot. So this function can be used with
figures where the subplots are repositioned, e.g., for printing.

h(row,col) : a struct containing the following fields:
- axes
- children (all children regardless of kind)
- line
- text
- legend
- marker (line with LineStyle = 'none'),
- segment (line with only two coordinates),
- segment_vert
- segment_horz
- crossline (line that spans at least one axis)
- nonsegment (lines that connect more than two points).

To use just one axes out of multiple subplots, use:

copyobj(h(row,col).axes, figure);

To find a subset of the objects, use findobj. For example:

red_markers = findobj(h(row,col).marker, 'Color', [1 0 0]);

Cite As

Yul Kang (2026). figure2struct (https://github.com/yulkang/figure2struct), GitHub. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes Action
1.0.0.0

minor cosmetic change in the description.
Removed MarkDown in the description which is not supported.

Corrected required MATLAB version to R2015a (due to uniquetol() used in subplot_by_pos - may be updated in the future so that it doesn't depend on uniquetol(). Please comment if you have an older version and are interested.
Changed the title of the submission.
Added description.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.