2017-07-21 3 views
1

Je me demandais donné le code R pour l'intrigue ci-dessous, comment puis-je obtenir un fichier png de cette intrigue telle que l'intrigue remplit toute l'image avec pasmargin gauche?Qu'est-ce qui pars pour éliminer la marge dans un `fichier png` pour le graphe R suivant?

Ce que j'ai essayé à ce jour a été de jouer avec mar et oma sans succès:

N = 20 ; df = N-1 
par(oma = rep(0, 4), mar = rep(0, 4)) 

png("plot.png", width = 4, height = 5, units = "in", res = 500) 

BB = curve(dt(x*sqrt(N), df)*sqrt(N), -1, 1, n = 1e4, xlab = "d", 
        ylab = NA, font = 2, font.lab = 2, type = "n", yaxt = "n", bty = "n", mgp = c(2, 1, -.5)) 

polygon(BB, col = rgb(1, 0, 0, .4), border = NA) 

dev.off() 
+1

Je suppose que ce que vous voulez, c'est ajouter 'xaxs =" i ", yaxs =" i "' à votre requête 'curve'. – G5W

+0

@ G5W, mais cela change la forme actuelle de l'intrigue! Je veux garder la forme actuelle et juste obtenir un format png de haute qualité de ce qui est actuellement montré dans l'appareil graphique? – rnorouzian

Répondre

0

Enfin, ce qui suit a fonctionné pour moi avec l'aide d'un des collègues de SO:

N = 20 ; df = N-1 
par(oma = rep(0, 4), mar = c(2.5, .01, 0, .01), mgp = c(1.5, .3, 0), xpd = NA) 

    BB = curve(dt(x*sqrt(N), df)*sqrt(N), -1, 1, n = 1e4, xlab = "d", 
     ylab = NA, font = 2, font.lab = 4, type = "n", yaxt = "n", 
     bty = "n", cex.axis = .7, cex.lab = .9) 

    polygon(BB, col = rgb(1, 0, 0, .4), border = NA) 

    dev.copy(png, "plot.png", width = 2, height = 3, units = "in", res = 500) 
    dev.off() 
    dev.off()