8
votes

Tracer plusieurs images JPEG en un seul écran

J'ai besoin de tracer et d'afficher plusieurs images JPEG dans un seul affichage combiné (ou toile?). Par exemple, supposons que j'ai des images {a, b, c, d} .jpg, chacune de la taille différente, et je voudrais les tracer sur une page dans une grille 2x2. Il serait également agréable de pouvoir définir un titre pour chaque sous-champ.

Je cherche soigneusement une solution, mais je ne pouvais pas savoir comment le faire, de sorte que toutes les idées aideraient vraiment. J'utiliserais de préférence une solution basée sur le package eBimage.


1 commentaires

Merci pour les réponses. Le problème réel manipulait des données d'image, avec le package RIMAGE, j'ai obtenu les données d'image du package eBimage à mieux afficher. Je reçois toujours des marges terriblement grosses lors de l'organisation des parcelles avec le paramètre mfrow (), bien que j'ai joué beaucoup avec les paramètres OMA et Mar.


3 Réponses :


5
votes

Il existe de deux manières comment organiser plusieurs parcelles avec des fonctions de graphique de base, nommément par (mfrow = c (lignes, colonnes)) (substitut lignes et colonnes avec entiers) et mise en page (tapis) mat est une matrice comme matrice (C (1,2,3,4)) < / code>.
Pour plus d'informations, voir ? Par , ? Mise en page , et surtout Quick-R: Combinaison de parcelles .

Cependant, votre question concerne les images que je ne sais pas si cela vous aide du tout. Sinon, je suis désolé d'avoir mal interprété votre question.


0 commentaires

5
votes

Pour ajouter à la solution Henriks, une manière assez pratique d'utiliser la fonction PAR () est la suivante: xxx

de cette façon, vous remettez les paramètres à l'ancienne état après avoir couru le code. . Soyez conscient du fait que cela n'est pas vrai si l'une des parcelles a donné une erreur.

Soyez conscient du fait que r toujours mettre les parcelles dans le même ordre. Utiliser Mfrow remplit la rangée de la grille à la ligne. Si vous utilisez MFCOL au lieu de MFROW dans le code, vous remplissez la colonne de la colonne.

Layout est une histoire complète. Ici vous pouvez définir dans quel ordre les parcelles doivent être placées. Donc mise en page (matrice (1: 4, nrow = 2) fait la même chose que par (mfcol = c (2,2)) . Mais mise en page (matrice (C (1,4,3,2), NCOL = 2)) place la première parcelle de gauche, le prochain droit à droite, le troisième tour de droite, et le dernier gaucher.

Chaque parcelle est complètement indépendante, donc les titres que vous spécifiez à l'aide de l'option Main sont également imprimés. Si vous souhaitez avoir plus de flexibilité, vous devez jeter un coup d'œil aux parcelles en treillis.


3 commentaires

Cela ne fonctionne pas avec la fonction image , qui écrase la figure complète.


@ Quantum7 j'ai essayé avec image () , et ça fonctionne parfaitement dans mon cas.


Vous avez absolument raison. J'utilisais le paquet Matrix pour des matrices clairsemées, ce qui remplace apparemment la fonction d'image d'une manière qui ignore les fustres. Les images de base fonctionnent bien.



1
votes

Si vous ne voulez pas que les images dans une grille régulière (les différentes tailles puissent l'impliquer), vous pourriez envisager d'utiliser la fonction de sous-remplissage à partir du package SecourchDemos. Le dernier exemple de la page d'assistance montre à l'aide d'une image en tant que caractère de tracé, modifiez simplement pour utiliser vos différentes images et tailles / emplacements.

La fonction MS.Image (même paquet) utilisée avec mes symboles est une autre possibilité.


0 commentaires