2016-06-09 3 views
0

Я пытаюсь создать один файл PDF с R.Fix пустые страницы PDF с R

Я использую pdf(), pie() и dev.off(), но все страницы в моем результате PDF пустые.

Это мой R код:

library(jsonlite) 
jsons_path <- "C:/color_uses/jsons" 
setwd(jsons_path) 
jsons <- list.files(jsons_path, pattern=NULL, all.files=FALSE, 
     full.names=FALSE) 

pdf(file=paste(c("../pngs/pies.pdf"), collapse = ''), width = 1000, height = 600, onefile=T) 
for(j in jsons){ 
color_uses <- fromJSON(j) 
color_uses <- lapply(color_uses, function(x) { 
    x[sapply(x, is.null)] <- NA 
    unlist(x) 
}) 
color_uses <- do.call("rbind", color_uses) 
color_uses <- as.data.frame(color_uses) 
if (is.vector(color_uses$probability)) { 
color_uses$prob <- color_uses$probability 
color_uses$hex <- rownames(color_uses) 
color_uses <- color_uses[order(color_uses$probability),] 

artist_name <- gsub(".json", "", j) 

pie(color_uses$prob, col=color_uses$hex, labels=NA, main=paste(c("Colors of: ", artist_name), collapse= ''), 
    cex.lab=2, cex.axis=2, cex.main=2, cex.sub=2) 
} 

} 
dev.off() 

Что я могу сделать, чтобы исправить пустые страницы, так что я могу сделать круговую диаграмму на каждой странице?

+2

Ваша ширина и высота очень высокие. Устройство находится в дюймах. Выполняет ваш код без 'pdf (....)' и 'dev.off()'? –

+0

Спасибо, я думаю, что ширина и высота были большими, да. У меня теперь есть: pdf (file = paste (c ("../pngs/pies.pdf"), collapse = ''), width = 10, height = 10, onefile = T) Пустые страницы исчезли ;) –

ответ

0

Ваша ширина и высота очень высоки, учитывая, что единицы указаны как дюймы. Значение по умолчанию - 7 дюймов. Поэтому вы должны использовать меньшее значение:

pdf(file = "path_to_your_file.pdf", width = 10, height = 6, onefile=TRUE) 

# your code here 

dev.off() 
Смежные вопросы