Arrange figures in numerical order...

14 visualizzazioni (ultimi 30 giorni)
There's a nice little function on the exchange that sorts figures on the screen, but it's not sorting in numerical order how the Figures are numbed: https://www.mathworks.com/matlabcentral/fileexchange/52774-arrangefigures-handles
This statement I believe...
figureHandles = sort(get(0, 'Children'));
...needs to truly sort in Figure numerical order. Then it would work.
Can it be improved?
Thanks!

Risposta accettata

Walter Roberson
Walter Roberson il 22 Lug 2018
For HG2, it would be
figureHandles = handle( sort( double(findall(0, 'type', 'figure') ) );
This will find all figures, including the interface frames for apps; if you want only user created figures then change findall to findobj .
This code will sort according to numeric handle. Even in HG2, each graphics object is associated with a double, just like in HG1. And just like in HG1, the handles for figures are not necessarily integers. You cannot generally predict the range of double that will be associated with a figure that was not created with 'IntegerHandle', 'on' or by using figure(INTEGER) to create a figure with that particular integer handle.
  2 Commenti
David Pesetsky
David Pesetsky il 22 Lug 2018
findobj did the trick. Perfect. I'll try to make a shortcut to that function in the quick access toolbar.
Thanks again
Boxuan Zhao
Boxuan Zhao il 5 Gen 2021
Amazing solution, thank you Walter, I've been trying to figure this out for so long!!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by