Парцели с добра резолюция за печат и екран

Правех моите сюжети с помощта на

dev.new(width=5.8, height=3) 
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...)

и справяне и поставянето им в Microsoft Word. Изглеждат наистина добре в Word (пробвах различни ширини, докато намеря една, която работи добре), но когато ги отпечатах, изглеждаха ужасно. След известно търсене в мрежата открих, че разделителната способност за печат трябва да бъде поне 300ppi. И така, след като цяла вечност се занимавах с ширини и височини, излязох с код, който кара графиките да изглеждат с еднакъв размер, но с по-добра резолюция:

png(file="mag_feb.png",width=1800,height=950,res=300)

Сега изглеждат добре, когато са отпечатани, но изобщо не изглеждат остри в Word (на екрана). Може ли да е проблем с размера? Няма ли начин да направите графики, които изглеждат добре отпечатани и на екрана? Вече прекарах часове с това и не мога да се сетя какво друго да опитам, така че всяка помощ ще бъде много оценена!

Благодаря!


person sbg    schedule 17.11.2011    source източник
comment
Не съм сигурен конкретно за R, но предпочитаният от мен формат за експортиране на графики би бил като вектор, а не като растерни изображения. PDF и EPS обикновено са добри формати за това, както би бил и SVG, ако го поддържа   -  person Flexo    schedule 17.11.2011
comment
Можете да експортирате вашия Word файл в PDF за четене от екрана. Това все още ли води до грозни изображения в документа?   -  person Paul Hiemstra    schedule 17.11.2011
comment
да, те изглеждат еднакво в word и в PDF   -  person sbg    schedule 17.11.2011
comment
@awoodland, ако запазя графиките в PDF, как мога да успея да ги импортирам в Word, без да ги конвертирам в растерни изображения?   -  person sbg    schedule 18.11.2011
comment
@sbg - Боя се, че не мога да помогна с това, че обикновено използвам LaTeX за всички документи, за които ме интересува как изглеждат, поради тази причина и много други причини. (Също така е донякъде извън темата за SO, подозирам)   -  person Flexo    schedule 18.11.2011


Отговори (4)


Има малка грешка във вашата оригинална png команда. Опитайте тази:

png(file="mag_feb.png", units="in", width=11, height=8.5, res=300)

Сега ширината и височината са в инчове, а резолюцията е в пиксели/инч. Преди параметърът res се игнорираше.

person bdemarest    schedule 18.11.2011

Трябва да използвате векторен формат, като PDF, за графики, които ще отпечатате. Ако изображенията изглеждат добре, когато са отпечатани, но не и в Word, това е проблем с функцията за намаляване на размера на Word. Може да опитате да използвате векторния формат на метафайл на Windows, за да прехвърлите нещата в Word.

person Michael Hoffman    schedule 17.11.2011
comment
благодаря за отговора! Първоначално използвах копието като метафайл, но имам много графики в този документ на Word и той просто забави думата до степен, че замръзваше за битове при превъртане. Ще се случи ли същото с win.metafile или PDF? Освен това как мога да прехвърля изображението от PDF в word? Ако използвам долната част на камерата, графиките пак не изглеждат добре... - person sbg; 17.11.2011
comment
win.metafile() ще ви създаде същия проблем. Вашият основен проблем е, че Word не е предназначен за оформление на висококачествени изображения. Ако изобщо е възможно, би било най-добре да премахнете изображенията от документа на Word и да ги отпечатате отделно. Или използвайте по-подходящ софтуер за публикуване (LaTeX или Adobe InDesign). - person Michael Hoffman; 17.11.2011
comment
Ако работата ви не изисква да използвате Word, определено бих преминал към Latex. Ако можете да използвате R, определено можете да използвате Latex. - person Paul Hiemstra; 17.11.2011

Както @awoodland отбелязва, искате да експортирате графики във векторен формат.

win.metafile(file="mag_feb.png") # or pdf(), svg(), etc.
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...)
dev.off()
person Ari B. Friedman    schedule 17.11.2011
comment
благодаря за отговора! Първоначално използвах копието като метафайл, но имам много графики в този документ на Word и той просто забави думата до степен, че замръзваше за битове при превъртане. Ще се случи ли същото с win.metafile или PDF? Освен това как мога да прехвърля изображението от PDF в word? Ако използвам долната част на камерата, графиките пак не изглеждат добре... - person sbg; 17.11.2011
comment
Мисля, че Word поддържа WMF най-добре? Така че можете просто да го импортирате в word с помощта на менюто Insert или нещо подобно? - person Ari B. Friedman; 17.11.2011

Надявам се, че това не е закъснял отговор, но работният ми процес за запазване на оптимални снимки от R е следният:

1) копирайте фигурата направо от графичното устройство в pdf файл, като използвате "dev.copy2pdf":

dev.copy2pdf("image.pdf", width=8.5, height=11)

2) използвайте imagemagick, за да конвертирате pdf в png с висока разделителна способност, като използвате тази команда:

convert -density 600 image.pdf image.png

3) по избор - също с imagemagick, премахнете всички бели граници и оставете само съдържанието, което има значение:

convert image.png -trim image_trimmed.png

Дано помогне.

person thiagoveloso    schedule 12.04.2016
comment
Също така моят работен процес, тестван в продължение на години като най-надежден както по отношение на качество, така и на повторяемост. Но трябва линукс кутия. - person cmbarbu; 16.11.2018