Subplot de taille différente en Matlab

Fermé
Mary - 29 mars 2010 à 01:28
 poussein - 8 avril 2010 à 17:00
Bonjour,

J'aimerais représenter 4 images (subplot) dans une même figure, mais avoir la liberté de leur donner des tailles différentes.

J'ai essayé : subplot('Position',[left bottom width height])
Mais quelque soit la spécification de l'unité je n'ai jamais réussi à voir quelque chose apparaître, mais pour autant je n'ai pas de message d'erreur.

Merci d'avance.

A voir également:

3 réponses

Juste un petit Up, car j'ai a peu près le même soucis que toi...

J'ai trois graphique que je mets en subplot... si je fais un subplot (3,1,x) mes trois graphiques sont alignés verticalement , mais tt aplatits... Or je suis censé représenter une zone géographique... Autant vous dire qu'elle ne ressemble plus à rien...

La solution intermédiaire pour ma part a été de couper mon écran en 4 zones égales (carrées) afin de récupérer un semblant de forme, mais je trouve ca tres vilain...

Merci d'avance

Eric ./.
0
Bonjour

Une solution possible est de choisir un format de fenêtre différent que celui par défaut.
Pour cela vous pouvez utiliser les commandes :

set(0,'Units','points')
scrsz = get(0,'ScreenSize');
figure('Position',[1 scrsz(4)/2 scrsz(3) scrsz(4)/2])
subplot(3,1,1)
....

Vous pouvez changer les proportions comme vous le souhaiter.

J'espère que ceci résoudra votre problème.
Mary.
0
Merci Mary,

malheureusement je me suis mal exprimé... ta solution est nickel si je voulais changer la forme de ma fenêtre... Dans mon cas elle se porte bien...

position [0 0 scrsz(3) scrsz(4)]

Lorsque que je n'affiche qu'un graphe, il est sur la même échelle en x et y...

mais lorsque je veux en mettre deux dans ma fenêtre (que je divise alors avec des subplot), la taille définie pour chaque graphique est donc divisée par deux j'ai donc une taille de scrsz(3) scrsz(4)/2 pour chacun d'eux...

Mais lorsque je fais un graphique dedans, il prend toute la place... (je sais que la nature n'aime pas les vides, mais tt de meme...)
A priori j'ai trouvé la solution avec l'argument axis...

et notemment un axis square

Encore merci a toi

bonne journée
0