Is it possible to get axis size in px units if it is created in normalized units?
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have the following code: set(gcf,'units','normalized','position',[0 0 1 1]) axes('units','normalized','position',[0 0 1 1]) And I want to know axes in pixels.
0 Kommentare
Akzeptierte Antwort
Jan
am 26 Mär. 2018
Bearbeitet: Jan
am 26 Mär. 2018
set(gcf, 'units', 'normalized', 'position', [0 0 1 1]);
AxesH = axes('units', 'normalized', 'position', [0 0 1 1]);
drawnow; % !!!!!
backUnits = get(AxesH, 'units');
set(AxesH, 'Units', 'pixels')
pixPos = get(AxesH, 'Position');
set(AxesH, 'Units', backUnits);
Without the drawnow I get my full monitor resolution, although Matlab crops the height to display the upper part of the border and the menu bar. What a pity.
A simpler method with a built-in Matlab function:
pixPos = getpixelposition(AxesH)
1 Kommentar
Jan
am 27 Mär. 2018
By the way: When I ask an internet search engine for "Matlab get axes position in pixels", the documentation of getpixelposition is the first hit.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Interactive Control and Callbacks 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!