figure2struct

Categorize MATLAB graphics objects in a figure/axes and return them as fields of a structure
31 Downloads
Updated 16 Aug 2016

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 (2024). figure2struct (https://github.com/yulkang/figure2struct), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Graphics Object Properties in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
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.