MATLAB, réglage de la taille de la figure par défaut, mais ne vous souciez pas de la position?

StackOverflow https://stackoverflow.com//questions/9650056

Question

Semblable à: Définition du graphique Taille de la figure

Mais, je veux juste définir la largeur et la hauteur , sans se soucier de la position.Le comportement souhaité est que je peux faire glisser la figure à volonté, mais sur chaque re-dessinant la taille sera corrigée.

Je n'aime pas la méthode dans la liaison ci-dessus car vous devez fournir une coordonnée (x, y) pour la position, qui est gênante, car le code se développe ou que j'utilise différents ordinateurs.Mais peut-être qu'il y a un moyen plus intelligent d'utiliser cette fonction définie ()?

Edit: Cool @ Réponse ci-dessous, voici ma fonction mise à jour.L'autre chose est d'être "silencieuse" afin que la figure ne se concentre pas constamment.

function h = sfigure(h,s1,s2)
% SFIGURE  Create figure window (minus annoying focus-theft).
%
% Usage is identical to figure.
%
% Daniel Eaton, 2005
%
% See also figure
%
% Modified by Peter Karasev, 2012, to optionally set scale
%

if nargin>=1 
    if ishandle(h)
        set(0, 'CurrentFigure', h);
    else
        h = figure(h);
    end
else
    h = figure;
end

if( nargin > 1 )
  scaleX = s1;
  scaleY = s1;
  if( nargin > 2 )
    scaleY = s2;
  end
  pos = get(h,'Position');
  pos(3:4) = [400 300].*[scaleX scaleY];
  set(gcf,'Position',pos);
end

Était-ce utile?

La solution

Combine it with the corresponding get function:

figure
pos = get(gcf,'Position');
pos(3:4) = [w h];
set(gcf,'Position',pos);

This will keep the default position and only change the width and height.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top