#r #pdf #ggplot2 #png
Вопрос:
Я создаю сетку с 4 участками, а затем записываю ее как в pdf, так и в png. По причинам, которые я не понимаю, диаграммы и шрифты отображаются по-разному (гораздо меньше в формате png, чем в формате pdf). Команды, которые я использую, следующие:
pdf("Cusum Page 1.pdf")
grid.arrange(log_return_plot, tracking_error_plot,
ir_graph, excess_vol,
layout_matrix = rbind(c(1, 2), c(3, 4)))
dev.off()
и
png(filename = "Cusum Page 1.png", width = 800, height = 800, units = "px",
pointsize = 12, bg = "white", res = NA, family = "", restoreConsole = TRUE,
type = c("windows", "cairo", "cairo-png"), antialias = "d")
grid.arrange(log_return_plot, tracking_error_plot,
ir_graph, excess_vol,
layout_matrix = rbind(c(1, 2), c(3, 4)))
dev.off()
Я пытался изменить и вырезать различные параметры в вызове png, но безуспешно — я просто не могу сделать так, чтобы мои png и pdf выглядели одинаково. Известна ли первопричина этой проблемы? Я был бы очень признателен за предложения по настройкам, которые я должен попытаться изменить, чтобы сделать два экспорта идентичными.
Искренне и с большой благодарностью заранее
Томас Филипс
Комментарии:
1. Боже, что за бардак. Это действительно таинственно. Я не думаю, что смог бы решить эту проблему самостоятельно.
Ответ №1:
Я подозреваю, что это как-то связано с установкой аргументов width
и height
для каждого параметра и согласованием png::res
(номинальное разрешение) и pdf::pointsize
(по умолчанию 12).
размеры pdf по умолчанию равны дюймам, поэтому я сделал так, чтобы png последовал моему примеру.
Вот первая попытка найти решение.
library(gridExtra)
library(ggplot2)
pdf("Cusum Page 1.pdf", width = 6, height = 6)
grid.arrange(p1, p2, p3, p4,
layout_matrix = rbind(c(1, 2), c(3, 4)))
dev.off()
png(filename = "Cusum Page 2.png", width = 6, height = 6, units = "in",
pointsize = 12, bg = "white", res = 144, family = "", restoreConsole = TRUE,
type = c("windows", "cairo", "cairo-png"), antialias = "d")
grid.arrange(p1, p2, p3, p4,
layout_matrix = rbind(c(1, 2), c(3, 4)))
dev.off()
графики
p1 <-
ggplot(iris)
geom_histogram(aes(Sepal.Length))
p2 <-
ggplot(iris)
geom_histogram(aes(Sepal.Width))
p3 <-
ggplot(iris)
geom_histogram(aes(Petal.Length))
p4 <-
ggplot(iris)
geom_histogram(aes(Petal.Width))
Создано 2021-07-12 пакетом reprex (v2.0.0)
pdf — конвертирован в jpg для возможности загрузки
Комментарии:
1. Работает как заклинание. Я установил как pdf, так и png на 8 дюймов x 8 дюймов, а разрешение-144, и два выхода по существу идентичны. Большое спасибо.