Dans R, quel est le meilleur pilote graphique pour utiliser les graphiques dans Microsoft Word?

10

J'utilise R pour créer des graphiques soignés que j'utilise dans les documents Microsoft Office. Selon cette page , la meilleure qualité est obtenue avec le pilote PDF. Malheureusement, Word ne prend pas en charge l'importation de figures PDF. Que dois-je utiliser?

static_rtti
la source
1
Vous pouvez mettre des chiffres PDF dans Word. Utilisez "Insérer un objet". Note latérale: Si vous n'avez jamais utilisé LaTeX auparavant, je recommande fortement de l'essayer comme alternative à MS Word.
mark999
1
@ mark999: Merci pour votre suggestion. Je l'ai essayé, mais malheureusement je n'ai rien pu trouver de mieux qu'une icône pdf dans le document. Je dois utiliser Word dans ce contexte car je travaille avec d'autres personnes qui utilisent Word. LaTeX est sympa, mais ce n'est pas pour tous les projets ou tout le monde.
static_rtti
4
@ mark999 LaTeX n'est tout simplement pas une option pour collaborer avec des personnes non mathématiques. Comme l'explique Gavin Simpson, des graphiques de haute qualité peuvent être incorporés dans des documents Word en choisissant des formats appropriés.
whuber
3
@ mark999 Malheureusement, je dois être d'accord avec whuber. LaTeX n'est pas vraiment une option en dehors de quelques champs, et même ceux qui sont assez intensifs en mathématiques utilisent toujours Word par défaut. Je l'ai considéré pendant un certain temps, puis j'ai abandonné parce que c'était plus difficile que cela valait la peine de collaborer.
Fomite
1
@whuber, je suis d'accord avec vous, et EpiGrad je suis partiellement d'accord avec vous. Je fais probablement 90% de mon écriture dans LaTeX et le reste dans MS Word (je n'utilise Word que lorsque je n'ai pas le choix). static_rtti: Je ne sais pas ce qui ne va pas pour vous, car j'ai mis des fichiers pdf dans des documents Word sans aucun problème.
mark999

Réponses:

4

Si vous travaillez sur un PC, il est très pratique d'insérer des figures dans des documents Office au format emf via le presse-papiers.

emf est un format graphique vectoriel natif de Windows et il vous permet de modifier les figures avec les outils MS Office. Ce n'est pas parfait, mais c'est un moyen rapide de générer un rapport simple.

Si vos documents sont compliqués, la gestion des chiffres par MS Word est horrible.

Leo Schalkwyk
la source
12

Cela dépend de la façon dont vous allez utiliser vos documents Word et des types de figures que vous souhaitez inclure dans le document.

Si les figures sont des tracés R standard avec un nombre modéré de points / données, les formats vectoriels fourniront la meilleure reproduction et permettront une mise à l'échelle facile de la taille de l'image tout en ayant une petite taille de fichier. EPS via postscript(...., onefile = FALSE, paper = "special")dans de tels cas serait le meilleur format si vous imprimez au format PDF ou imprimez sur une imprimante laser qui connaît le postscript. Malheureusement, Word utilise un plug-in tiers pour charger les chiffres EPS qui produit un aperçu bitmap basse résolution merdique qui s'affiche à l'écran - une fois imprimé, vous obtenez le EPS de haute qualité.

Si les tracés peuvent être considérés comme des rasters (tracés de surface ou tracés d'images [heatmaps] avec un nombre élevé de "pixels"), ou si les tracés contiennent un très grand nombre de points, la conservation des informations vectorielles pour ces tracés se traduira par une grande taille du fichier et coûts de traitement élevés à charger dans Word et à stocker en mémoire lorsque vous travaillez sur le document. Dans de tels cas, j'utiliserais un TIFF haute résolution ou un PNG via tiff()ou png()respectivement. Consultez les fichiers d'aide pour savoir comment définir la taille de l'image en pixels et la résolution. Ces appareils rendront la figure sous la forme d'une image bitmap qui, si elle est fournie avec une taille / résolution suffisante, tolérera une certaine quantité de redimensionnement mais aura tendance à être stockée beaucoup plus efficacement lorsque le nombre de points de données ou de cellules est très grand.

Considérez également que tous les appareils ne prennent pas en charge la transparence, principalement parce que les formats de fichiers sous-jacents ne le permettent pas; postscript()ne prend pas en charge la transparence, pdf()et png()oui. cairo_ps()prend en charge la transparence, mais ce faisant, il produira en fait une image bitmap au format EPS, ce qui pourrait ne pas être ce que vous voulez.

Notez que si vous enregistrez votre document au format PDF, les chiffres bitmap seront sous-échantillonnés dans une certaine mesure. J'oublie comment Word contrôle cela, mais il y avait deux paramètres dans la boîte de dialogue Enregistrer lorsque le type PDF a été sélectionné et l'un d'entre eux sous-échantillonnera les images pour produire une taille de fichier plus petite. Cela sera associé à une perte de qualité, alors faites attention à l'option que vous choisissez. Ce n'est pas spécifique à Word - OpenOffice.org et LibreOffice ont les mêmes fonctionnalités, mais ils offrent un contrôle beaucoup plus fin de la façon dont les images sont compressées et si elles sont compressées ou non. Cela est dû au fait que le PDF a été conçu pour la reproduction à l'écran et sur l'imprimante. Vous n'avez pas besoin de la haute résolution dans les images si vous les affichez sur l'écran pour le Web. Des images de résolution plus élevée entraînent une taille de fichier plus grande, de sorte que la destination prévue du PDF peut être définie,

Gavin Simpson
la source
1
Merci, bonne astuce. PostScript semble bien parler à Word pour l'impression. Malheureusement, la mauvaise prévisualisation à l'écran est un problème non trivial. Dans mon environnement, de nombreux documents Word sont envoyés et lus à l'écran.
Peter Ellis
7

Si vous êtes sous Windows, essayez win.metafile. C'est un format vectoriel, si je me souviens bien, et il fonctionne bien avec Word.

mpiktas
la source
5

Les graphiques R dans Windows peuvent être assez délicats. Le plus gros problème que j'ai est que l'anti-aliasing ne fonctionne pas correctement sous Windows. Pour une raison quelconque, je dois utiliser le plug-in d'appareil Cairo pour le mettre en forme.

J'ai essayé le paquet Cairo et cairoDevice et actuellement je trouve que cairoDevice est le plus simple et le plus fiable, il y a un article sur StackOverflow à ce sujet.

Pour utiliser le package cairoDevice, il vous suffit de:

# Create the device
Cairo_png(filename="my_file_name.png",
    width=16,
    height=16,
    pointsize=18)
# Do a plot
plot(x, y)
# Saves the file
dev.off()

Vous pouvez également enregistrer au format PDF / svg, puis utiliser Inkscape pour modifier votre graphique, changer les polices, etc., puis l'exporter au format png.

Max Gordon
la source
Oui. Un appareil png au Caire est ce que j'ai trouvé produit les plus beaux graphiques pour un affichage à l'écran dans un document Word. Sur les machines pour lesquelles capabilities("cairo")c'est TRUE, vous pouvez également simplement utiliser png(..., type="cairo")ou peut-être quelque chose comme png(..., type="cairo", res=200)pour obtenir une sortie similaire.
Josh O'Brien
1
@ JoshO'Brien - Bon point. Depuis ma réponse d'origine, j'ai écrit deux articles de blog sur ce problème: gforge.se/2013/02/exporting-nice-plots-in-r et gforge.se/2013/03/exporting-plain-lattice-or-ggplot
Max Gordon
Super, merci pour les liens. D'une certaine manière, j'avais manqué l' units="in"option jusqu'à ce que je les lise. J'aurais aimé savoir au sujet que un an ou il y a deux ou 10! Puisque la vôtre est la meilleure réponse ici, il pourrait être utile de la modifier ou d'ajouter une mise à jour en haut de l' type="cairo"option avec le périphérique intégré - en particulier compte tenu de ses avantages, même par rapport aux fonctions du package Cairo ...
Josh O ' Brien
3

PDF, ps, SVG ou eps sont des périphériques graphiques vectoriels . JPG, TIFF, PNG, ... etc sont des graphiques Raster. Lorsqu'il s'agit de graphiques raster, le compromis est entre la taille et la qualité. En ajustant la largeur, la hauteur et d'autres formats, vous pouvez conserver une haute qualité dans les graphiques raster . Vous pouvez prendre le format PNG ou JPG pour insérer l'image.

Les images SVG peuvent être insérées dans le document MSWORD. Vous pouvez vérifier cela .

vinux
la source
Notez que le périphérique svg de R vous donne parfois un raster lorsque vous ne vous y attendez pas.
Thomas Levine
2

La façon la plus simple de migrer est de choisir des .pngfichiers, moi aussi. Pourtant, le mot les montre assez flous - du moins dans mon cas. À l'époque où j'utilisais Eviews, j'ai essayé, .epsce qui a entraîné un ensemble de problèmes, mais la qualité était meilleure. Je pense qu'en fin de compte, vous devez choisir entre le moindre de deux maux.

Seb
la source
Je pense que le flou est dû à l'algorithme de mise à l'échelle de Word. Vous pouvez avoir de meilleurs résultats dans un programme de retouche d'image avant de l'insérer afin qu'il soit affiché à 100% par Word.
James
ou créez le fichier png à la taille souhaitée en premier lieu. Les valeurs par défaut sont width = 480, height = 480, units = "px", pointsize = 12,mais vous pouvez les changer dans votre script R
Henry
2

Cela ne veut pas répondre directement à votre question, mais vous pouvez obtenir une meilleure intégration entre R et MS Word utilisant le package R R2wd ou le logiciel commercial Inference R . Ceux-ci fournissent une intégration directe de type Sweave de R et MS Word, éliminant le couper-coller ou enregistrer et charger, et facilitant la mise à jour des tracés dans le document à partir de la ligne de commande. Je ne les ai pas utilisés, mais j'utilise Sweave et je recommande la programmation alphabétisée , qui est prise en charge par tous ces outils.

Sweave est l'outil de programmation alphabétisé le plus utilisé par les utilisateurs de R. C'est LaTeX + R, et c'est ainsi que les vignettes R et de nombreux livres et articles de journaux sont écrits.

Les outils Word + R promettent une interface moins intimidante pour les nouveaux utilisateurs. LaTeX a une courbe d'apprentissage plus abrupte que Word.

Cependant, à 199 $ / an, l'inférence pour R rend difficile pour les autres de reproduire vos analyses, contrairement à Sweave, qui fait partie de la base R.

David LeBauer
la source