2016-08-11 3 views
12

Я создаю диаграмму рассеяния с использованием ggplot в R (версия версии 3.2.1). Я хочу сохранить график как изображение tiff в 300 DPI, чтобы опубликовать его в журнале. Однако мой код с использованием ggsave или tiff() с dev.off, похоже, не работает и сохраняет его только в 96 DPI. Любая помощь будет принята с благодарностью! Ниже приведен пример моего кода, используя оба метода:Сохранение изображения с высоким разрешением в R

library(ggplot2) 

x <- 1:100 
y <- 1:100 

ddata <- data.frame(x,y) 

library(ggplot2) 

#using ggsave 
ggplot(aes(x, y), data = ddata) + 
    geom_point() + 
    geom_smooth(method=lm, fill = NA, fullrange=TRUE, color = "black") 

ggsave("test.tiff", units="in", width=5, height=4, dpi=300, compression = 'lzw') 

#using tiff() and dev.off 
tiff('test.tiff', units="in", width=5, height=4, res=300, compression = 'lzw') 

ggplot(aes(x, y), data = ddata) + 
    geom_point() + 
    geom_smooth(method=lm, fill = NA, fullrange=TRUE, color = "black") 

dev.off() 

Выход 96 DPI с шириной 1500 пикселей и высотой 1200 пикселей.

+0

Возможно, вам потребуется установить высоту и ширину (и единицы измерения) –

+1

Код работает с имитируемыми данными! Проблема должна быть на вашем участке, поэтому необходим воспроизводимый пример. – Robert

+0

Согласен. Отлично работает для меня - каковы размеры пикселей вашего вывода и что говорит ggplot, когда вы вызываете 'ggsave()'? –

ответ

11

Вы можете использовать это. Добавьте код ggplot после первой строки кода и закончите с dev.off().

tiff('test.tiff', units="in", width=5, height=5, res=300) 
#insert ggplot code 
dev.off() 

res=300 указывает, что необходимо фигуру с разрешением 300 точек на дюйм. Файл рисунков с именем «test.tiff» сохраняется в вашем рабочем каталоге.

Смежные вопросы