Arrange figures in numerical order...

15 Ansichten (letzte 30 Tage)
David Pesetsky
David Pesetsky am 22 Jul. 2018
Kommentiert: Boxuan Zhao am 5 Jan. 2021
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!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Jul. 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 Kommentare
David Pesetsky
David Pesetsky am 22 Jul. 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 am 5 Jan. 2021
Amazing solution, thank you Walter, I've been trying to figure this out for so long!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by