В R, что является лучшим графическим драйвером для использования графиков в Microsoft Word?

10

Я использую R для создания аккуратных графиков, которые я использую в документах Microsoft Office. Согласно этой странице , наилучшее качество достигается с помощью драйвера PDF. К сожалению, Word не поддерживает импорт рисунков в формате PDF. Что я должен использовать?

static_rtti
источник
1
Вы можете поместить PDF-фигуры в Word. Используйте «Вставить объект». Примечание: если вы никогда раньше не использовали LaTeX, я настоятельно рекомендую попробовать его как альтернативу MS Word.
mark999
1
@ mark999: Спасибо за ваше предложение. Я попробовал, но, к сожалению, я не смог получить ничего лучше, чем значок PDF в документе. Я должен использовать Word в этом контексте, потому что я работаю с другими людьми, которые используют Word. LaTeX хорош, но это не для каждого проекта или для всех.
static_rtti
4
@ mark999 LaTeX просто не подходит для сотрудничества с нематематическими людьми. Как объясняет Гэвин Симпсон, высококачественная графика может быть включена в документы Word, выбрав соответствующие форматы.
whuber
3
@ mark999 К сожалению, я должен согласиться с whuber. LaTeX на самом деле не вариант за пределами нескольких полей, и даже те, которые достаточно интенсивно математически, по-прежнему используют Word по умолчанию. Я подумал об этом некоторое время, а затем бросил, потому что это было больше проблем, чем стоило сотрудничать.
Fomite
1
@whuber, я с тобой согласен, а EpiGrad я с тобой частично согласен. Я, вероятно, делаю 90% своего письма в LaTeX, а остальное - в MS Word (я использую Word, только когда у меня нет выбора). static_rtti: я не знаю, что с тобой происходит, потому что я поместил pdf файлы в документы Word без проблем.
mark999

Ответы:

4

Если вы работаете на ПК, очень удобно вставлять рисунки в документы Office в формате emf через буфер обмена.

emf - это формат векторной графики Windows, позволяющий редактировать рисунки с помощью инструментов MS Office. Это не идеально, но это быстрый способ создания простого отчета.

Если ваши документы вообще сложны, работа с цифрами в MS Word просто ужасна.

Лео Шальквик
источник
12

Зависит от того, как вы будете использовать документы Word и какие типы фигур вы хотите включить в документ.

Если рисунки представляют собой стандартные R-графики с умеренным количеством точек / данных, то векторные форматы обеспечат наилучшее воспроизведение и позволят легко масштабировать размер изображения при небольшом размере файла. EPS postscript(...., onefile = FALSE, paper = "special")в таком случае будет лучшим форматом, если вы выводите в PDF или печатаете на лазерном принтере, который знает PostScript. К сожалению, Word использует сторонний плагин для загрузки EPS-фигур, который создает дрянное растровое изображение с низким разрешением, которое отображается на экране - при печати вы получаете EPS высокого качества.

Если графики могут рассматриваться как растры (поверхностные или графические изображения [тепловые карты] с большим количеством «пикселей»), или если графики содержат очень большое количество точек, сохранение векторной информации для таких графиков приведет к большим Размер файла и высокая стоимость обработки загружаются в Word и сохраняются в памяти при работе с документом. В таких случаях я бы использовал TIFF с высоким разрешением или PNG через tiff()или png()соответственно. См. Файлы справки для помощи в настройке размера изображения в пикселях и разрешения. Эти устройства будут отображать рисунок в виде растрового изображения, которое при достаточном размере / разрешении будет допускать некоторое масштабирование, но будет иметь тенденцию к гораздо более эффективному сохранению, когда число точек данных или ячеек очень велико.

Учтите также, что не все устройства поддерживают прозрачность, в основном потому, что основные форматы файлов не позволяют ее; postscript()не поддерживает прозрачность, pdf()и png()делать. cairo_ps()поддерживает прозрачность, но при этом на самом деле создаст растровое изображение в формате EPS, что может быть не тем, что вы хотите.

Обратите внимание, что при сохранении документа в PDF растровые изображения будут в некоторой степени сокращены. Я забыл, как Word управляет этим, но у него было два параметра в диалоговом окне «Сохранить», когда был выбран тип PDF, и один из них будет уменьшать выборку изображений для получения меньшего размера файла. Это будет связано с некоторой потерей качества, поэтому будьте осторожны, какой вариант вы выберете. Это не относится к Word - OpenOffice.org и LibreOffice имеют одинаковые функции, но они предлагают гораздо более детальный контроль над тем, как изображения сжимаются и сжимаются ли они или нет. Это происходит потому, что PDF был разработан как для воспроизведения на экране, так и на принтере. Вам не нужно высокое разрешение изображений при отображении на экране для Интернета. Изображения с более высоким разрешением приводят к большим размерам файлов, поэтому можно указать предполагаемое место назначения PDF,

Гэвин Симпсон
источник
1
Спасибо, хороший совет. Постскриптум, кажется, хорошо говорит с Word для печати. К сожалению, плохой предварительный просмотр на экране - нетривиальная проблема. В моей среде много документов Word отправляются и читаются на экране.
Питер Эллис
7

Если вы используете Windows, попробуйте win.metafile. Это векторный формат, если я правильно помню, и он прекрасно сочетается с Word.

mpiktas
источник
5

R графика в Windows может быть довольно сложно. Самая большая проблема, с которой я столкнулся, заключается в том, что сглаживание не работает должным образом в Windows. По какой-то причине мне нужно использовать плагин устройства Cairo, чтобы он был красиво отформатирован.

Я пробовал как пакеты Cairo, так и пакет cairoDevice, и в настоящее время я считаю, что cairoDevice - самый простой и надежный. Об этом есть сообщение в StackOverflow .

Для использования пакета cairoDevice все, что вам нужно, это:

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

Вы также можете сохранить в формате PDF / svg, а затем использовать Inkscape для редактирования графика, изменения шрифтов и т. Д., А затем экспортировать его в формат png.

Макс Гордон
источник
Да. Устройство Cairo png - это то, что я нашел, и создает самые привлекательные графики для просмотра на экране в документе Word. На машинах , для которых capabilities("cairo")это TRUE, вы можете просто использовать в качестве альтернативы png(..., type="cairo")или , возможно , что - то вроде , png(..., type="cairo", res=200)чтобы получить подобный вывод.
Джош О'Брайен
1
@ JoshO'Brien - Хороший вопрос. С тех пор как мой первоначальный ответ написал два сообщения в блоге по этому вопросу: gforge.se/2013/02/exporting-nice-plots-in-r и gforge.se/2013/03/exporting-plain-lattice-or-ggplot
Макс Гордон
Супер, спасибо за ссылки. Каким-то образом я пропустил units="in"вариант, пока не прочитал их. Жаль, что я знал об этом год или два или 10 назад! Так как ваш ответ здесь лучший, возможно, стоит отредактировать его или добавить обновление о type="cairo"встроенном устройстве, особенно с учетом его преимуществ по сравнению с функциями пакета Cairo ...
Джош О ' Бриен
3

PDF, ps, SVG или eps - это устройства векторной графики . JPG, TIFF, PNG, ... и т. Д. Являются растровой графикой. Когда речь идет о растровой графике, компромисс между размером и качеством. Регулируя ширину, высоту и другое форматирование, вы можете сохранить высокое качество растровой графики . Вы можете взять PNG или JPG формат для вставки изображения.

Изображения SVG могут быть вставлены в документ MSWORD. Вы можете проверить это .

vinux
источник
Обратите внимание, что устройство svg от R иногда дает вам растр, когда вы этого не ожидаете.
Томас Левин
2

Самый простой способ - выбрать .pngфайлы, как и я. Тем не менее, слово показывает, что они довольно размыты - по крайней мере, в моем случае. Назад, когда я использовал Eviews, я попробовал, .epsчто привело к собственному набору проблем, но качество было лучше. Я думаю, в конце концов, вам придется выбирать между меньшим из двух зол.

Себ
источник
Я думаю, что размытие связано с алгоритмом масштабирования Word. Возможно, вы получите лучшие результаты при изменении размера в программе редактирования изображений перед вставкой, поэтому Word будет отображать их на 100%.
Джеймс
или сначала создайте png-файл нужного размера. По умолчанию они есть, width = 480, height = 480, units = "px", pointsize = 12,но вы можете изменить их в своем сценарии R
Генри
2

Это не сразу ответить на ваш вопрос, но вы можете получить более тесную интеграцию между R и MS Word , используя либо R пакет R2wd или коммерческое программное обеспечение Inference для R . Они обеспечивают прямую интеграцию R и MS Word в стиле Sweave, исключая вырезание и вставку или сохранение и загрузку, а также упрощают обновление графиков в документе из командной строки. Я не использовал их, но я использую Sweave и рекомендую грамотное программирование , которое поддерживается всеми этими инструментами.

Sweave является наиболее широко используемым инструментом грамотного программирования среди пользователей R. Это LaTeX + R, и именно так пишутся виньетки R и множество книг и журнальных статей.

Инструменты Word + R обещают менее сложный интерфейс для новых пользователей. У LaTeX более крутая кривая обучения, чем у Word.

Тем не менее, при цене $ 199 в год умозаключение для R затрудняет для других воспроизведение ваших анализов, в отличие от Sweave, который является частью базы R.

Дэвид Лебауэр
источник