Повышение качества вывода EMF в R и ggplot2

Я создаю и сохраняю файл EMF с помощью ggplot2 и команды win.graph. выходной график имеет низкое качество, а линии выглядят зубчатыми. Мне действительно нужно иметь его в формате EMF (экспорт в pdf решает проблему, но мне нужен файл EMF). Как я могу сделать его качественным? (вывод ЭДС находится здесь на случай, если вам захочется его увидеть)

require(ggplot2)
my.dates = as.Date(c("2011-07-22","2011-07-23",
                     "2011-07-24","2011-07-28","2011-07-29"))
my.vals  = c(5,6,8,7,3)
my.data <- data.frame(date =my.dates, vals = my.vals)
plot(my.dates, my.vals)
p <- ggplot(data = my.data, aes(date,vals))+ geom_line(size = 1.5)
p <- p + scale_x_date(format="%m/%d", ' ')
win.graph(width=860/72, height=450/72,pointsize = 12)

print(p)
savePlot("c:/test.emf",type="emf")
dev.off()

person Mark    schedule 10.07.2011    source источник
comment
Вы можете использовать ggsave, чтобы удалить несколько строк кода: ggsave("c:/test.emf", p)   -  person hadley    schedule 10.07.2011


Ответы (2)


ЭДС основана на векторе. Я вставлял файлы EMF в слайды PowerPoint и заметил, что они отображаются в низком разрешении. Если вы щелкните правой кнопкой мыши файл EMF и выберите «Редактировать фотографию», он отобразит ее правильно. Это решило мою проблему.

Обновление: я написал небольшой скрипт VBA, который разгруппирует файл EMF. Он разбивает его на объект графика, который можно легко масштабировать. Сейчас это выглядит очень красиво.

person Mark    schedule 10.07.2011
comment
Были ли у вас подобные проблемы в MS Word? Правый щелчок + трюк edit picture в моем случае не работает. Разрешение кажется нормальным, но графические элементы (например, точечные символы) слегка искажены. - person Valentin; 29.11.2017

Вы можете сохранить свой ggplot как SVG, а затем обработать его с помощью Inkscape. Это простой в использовании, бесплатный и дает отличные результаты.

person Ralf    schedule 03.02.2017