Em R, qual é o melhor driver gráfico para usar os gráficos no Microsoft Word?

10

Uso R para criar gráficos organizados que uso nos documentos do Microsoft Office. De acordo com esta página , a melhor qualidade é obtida com o driver PDF. Infelizmente, o Word não oferece suporte à importação de números PDF. O que devo usar?

static_rtti
fonte
11
Você pode colocar figuras em PDF no Word. Use "Inserir objeto". Nota lateral: Se você nunca usou o LaTeX antes, recomendo experimentá-lo como uma alternativa ao MS Word.
mark999
11
@ mark999: Obrigado pela sua sugestão. Eu tentei, mas infelizmente não consegui nada melhor do que um ícone de pdf no documento. Eu tenho que usar o Word nesse contexto porque trabalho com outras pessoas que usam o Word. O LaTeX é legal, mas não é para todos os projetos ou para todos.
static_rtti
4
@ mark999 O LaTeX simplesmente não é uma opção para colaborar com pessoas não matemáticas. Como explica Gavin Simpson, gráficos de alta qualidade podem ser incorporados aos documentos do Word, escolhendo os formatos apropriados.
whuber
3
@ mark999 Infelizmente tenho que concordar com o whuber. O LaTeX não é realmente uma opção fora de alguns campos, e mesmo aqueles que são bastante intensivos em matemática ainda usam o Word como padrão. Eu considerei isso por um tempo, depois caí porque era mais problema do que valia a pena colaborar.
fomite
11
@whuber, concordo com você e EpiGrad concordo parcialmente com você. Provavelmente faço 90% da minha escrita no LaTeX e o restante no MS Word (só uso o Word quando não tenho escolha). static_rtti: Não sei o que está acontecendo de errado com você, porque coloquei arquivos PDF em documentos do Word sem problemas.
mark999

Respostas:

4

Se você estiver trabalhando em um PC, é bastante conveniente inserir figuras nos documentos do Office no formato emf através da área de transferência.

O emf é um formato de gráficos vetoriais nativo do Windows e permite editar as figuras com as ferramentas do MS Office. Não é perfeito, mas é uma maneira rápida de gerar um relatório simples.

Se seus documentos são complicados, o manuseio de figuras do MS Word é horrível.

Leo Schalkwyk
fonte
12

Depende de como você usará seus documentos do Word e que tipos de figuras você deseja incluir no documento.

Se as figuras forem plotagens R padrão com um número moderado de pontos / dados, os formatos baseados em vetores fornecerão a melhor reprodução e permitirão o redimensionamento fácil do tamanho da imagem enquanto o tamanho do arquivo é pequeno. O EPS via postscript(...., onefile = FALSE, paper = "special")nesses casos seria o melhor formato se você estiver imprimindo em PDF ou imprimindo em uma impressora a laser que possua postscript. Infelizmente, o Word usa um plug-in de terceiros para carregar números EPS que produzem uma visualização de bitmap de baixa resolução de baixa resolução que é exibida na tela - quando impresso, você obtém o EPS de alta qualidade.

Se as plotagens puderem ser consideradas rasters (plotagens de superfície ou plotagens de imagens [mapas de calor] com um número alto de "pixels") ou se as plotagens contiverem um número muito grande de pontos, reter as informações vetoriais para essas plotagens resultará em um grande tamanho do arquivo e altos custos de processamento para carregar no Word e armazenar na memória enquanto você trabalha no documento. Nesses casos, eu usaria um TIFF de alta resolução ou um PNG via tiff()ou png()respectivamente. Consulte os arquivos de ajuda para obter ajuda na configuração do tamanho da imagem em pixels e na resolução. Esses dispositivos renderizam a figura como uma imagem de bitmap, que, se tiver tamanho / resolução suficiente, tolerará uma certa escala de redimensionamento, mas tenderá a ser armazenada com muito mais eficiência quando o número de pontos ou células de dados for muito grande.

Considere também que nem todos os dispositivos suportam transparência, principalmente porque os formatos de arquivo subjacentes não permitem; postscript()não suporta transparência, pdf()e png()sim. cairo_ps()suporta transparência, mas, ao fazer isso, produzirá uma imagem de bitmap no formato EPS, que pode não ser o que você deseja.

Observe que, se salvar o documento em PDF, os números de bitmap serão reduzidos em alguns graus. Eu esqueço como o Word controla isso, mas ele tinha duas configurações na caixa de diálogo Salvar quando o tipo de PDF foi selecionado e uma delas reduzirá a amostra das imagens para produzir um tamanho de arquivo menor. Isso estará associado a alguma perda de qualidade; portanto, tenha cuidado com a opção escolhida. Isso não é específico para o Word - o OpenOffice.org e o LibreOffice têm os mesmos recursos, mas oferecem um controle mais refinado de como as imagens são compactadas e se estão compactadas ou não. Isso ocorre porque o PDF foi projetado para reprodução na tela e na impressora. Você não precisa de alta resolução nas imagens se estiver exibindo na tela para a web. Imagens de alta resolução resultam em tamanhos de arquivo maiores, para que o destino pretendido do PDF possa ser definido,

Gavin Simpson
fonte
11
Obrigado, boa dica. O postscript parece falar bem com o Word para impressão. Infelizmente, a visualização ruim na tela é um problema não trivial. No meu ambiente, muitos documentos do Word são enviados e lidos na tela.
Peter Ellis
7

Se você estiver no Windows, tente win.metafile. É um formato vetorial, se bem me lembro, e funciona muito bem com o Word.

mpiktas
fonte
5

Os gráficos R no Windows podem ser bastante complicados. O maior problema que tenho é que o anti-aliasing não está funcionando corretamente no Windows. Por alguma razão, preciso usar o plug-in de dispositivo do Cairo para obtê-lo bem formatado.

Eu tentei os pacotes Cairo e cairoDevice e, atualmente, acho que o cairoDevice é o mais fácil e confiável, há uma postagem do StackOverflow sobre isso.

Para usar o pacote cairoDevice, tudo o que você precisa é:

# 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()

Você também pode salvar no formato PDF / svg e usar o Inkscape para editar seu gráfico, alterar fontes etc. e depois exportá-lo para o formato png.

Max Gordon
fonte
Sim. Um dispositivo png do Cairo é o que eu descobri que produz os gráficos mais bonitos para visualização na tela em um documento do Word. Nas máquinas para as quais capabilities("cairo")é TRUE, você pode alternativamente apenas usar png(..., type="cairo")ou talvez algo como png(..., type="cairo", res=200)obter uma saída semelhante.
Josh O'Brien
11
@ JoshO'Brien - Bom ponto. Desde a minha resposta original, escrevi duas postagens de blog sobre esse assunto: gforge.se/2013/02/exporting-nice-plots-in-r e gforge.se/2013/03/exporting-plain-lattice-or-ggplot
Max Gordon
Super, obrigado pelos links. De alguma forma, eu tinha perdido a units="in"opção até lê-los. Gostaria de saber sobre isso há um ou dois ou dez anos atrás! Como a sua é a melhor resposta aqui, pode valer a pena editá-la ou adicionar uma atualização sobre a type="cairo"opção com o dispositivo embutido - especialmente considerando suas vantagens mesmo em relação às funções do pacote Cairo ...
Josh O ' Brien
3

PDF, ps, SVG ou eps são dispositivos gráficos baseados em vetores . JPG, TIFF, PNG, etc. são gráficos de varredura. Quando se trata de gráficos raster, a troca está entre o tamanho e a qualidade. Ao ajustar a largura, a altura e outras formatações, você pode manter alta qualidade nos gráficos rasterizados . Você pode usar o formato PNG ou JPG para inserir a imagem.

Imagens SVG podem ser inseridas no documento MSWORD. Você pode verificar isso .

vinux
fonte
Observe que o dispositivo svg de R às vezes fornece uma varredura quando você não espera.
Thomas Levine
2

A maneira mais fácil de escolher .pngarquivos é o mesmo que eu. No entanto, as palavras os mostram bastante borradas - pelo menos no meu caso. Quando eu estava usando o Eviews, tentei o .epsque resultou em um conjunto de problemas, mas a qualidade era melhor. Eu acho que no final você tem que escolher entre o menor dos dois males.

Seb
fonte
Eu acho que o desfoque é devido ao algoritmo de escala do Word. Você pode obter melhores resultados de redimensionamento em um programa de edição de imagens antes de inseri-lo, para que seja exibido 100% pelo Word.
James
ou crie o arquivo png no tamanho desejado em primeiro lugar. Os padrões são width = 480, height = 480, units = "px", pointsize = 12,, mas você pode alterá-las em seu script R
Henry
2

Isso não responder diretamente sua pergunta, mas você pode obter uma melhor integração entre R e MS Word usando o pacote de R R2wd ou o software comercial Inference para R . Eles fornecem integração direta semelhante ao Sweave do R e do MS Word, eliminando cortar e colar ou salvar e carregar, e facilitando a atualização de plotagens no documento a partir da linha de comando. Eu não os usei, mas uso o Sweave e recomendo programação alfabetizada , que é suportada por todas essas ferramentas.

Sweave é a ferramenta de programação alfabética mais usada entre os usuários de R. É o LaTeX + R e é como são escritas as vinhetas R e muitos livros e artigos de periódicos.

As ferramentas do Word + R prometem uma interface menos assustadora para novos usuários. O LaTeX tem uma curva de aprendizado mais íngreme que o Word.

No entanto, a US $ 199 / ano, a inferência para R torna desafiador para outros reproduzir suas análises, ao contrário do Sweave, que faz parte da base R.

David LeBauer
fonte