2016-06-09 4 views
0

Je suis en train de générer un PDF un fichier avec R.Fix pages PDF en blanc avec R

J'utilise pdf(), pie() et dev.off(), mais toutes les pages de mon résultat PDF sont vides.

Ceci est mon code 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() 

Que puis-je faire pour corriger les pages blanches, pour que je puisse faire un diagramme circulaire sur chaque page?

+2

Votre largeur et votre hauteur sont très élevées. L'unité est en pouces. Fonctionne votre code sans 'pdf (....)' et 'dev.off()'? –

+0

Merci, je pense que la largeur et la hauteur était trop grande, oui. Je ai maintenant: pdf (fichier = coller (c ("../ pngs/pies.pdf"), collapse = ''), largeur = 10, hauteur = 10, un fichier = T) Les pages vierges sont partis ;) –

Répondre

0

Votre largeur et hauteur sont très élevées étant donné que les unités sont spécifiées en pouces. La valeur par défaut est 7 pouces. Vous devriez donc utiliser une valeur plus petite:

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

# your code here 

dev.off()