2010-05-03 7 views
1

Je voudrais exporter des symboles de traçage de forme R comme un graphique png. Mais je n'ai pas encore trouvé de façon parfaite.Exporter le symbole en tant que png

En utilisant

png("symbol.png",width=20, height=20, bg="transparent") 
par(mar=c(0,0,0,0)) 
plot.new() 
symbols(1, 1, circles=0.3, bg=2, inches=FALSE, lwd=2, bty="n") 
dev.off() 

crée une petite bordure autour du symbole (je voudrais qu'il soit transparent) et le symbole ne remplit pas tout l'espace.

symbol http://i42.tinypic.com/2s1tytk.png

Y at-il une façon plus spécifique de le faire?

Répondre

1

En plus des marges, vous devez éliminer les axes et l'espace pour eux, et éteignez l'allongement automatique des limites d'axe:

par(xaxs="i", yaxs="i") # 'internal' axis style - no extending 
par(xaxt="n", yaxt="n") # remove axes 
par(mgp=c(0,0,0))  # remove room for title and axis labels 
par(mar=c(0,0,0,0))  # remove margins 
symbols(0,0, circles=1, bg=2, fg=NA, inches=FALSE, bty="n", 
     xlim=c(-1,1), ylim=c(-1,1)) #ensure limits match the size of the circle 

La partie fg=NA supprime l'avant-plan du symbole qui est la bordure du cercle. Espérons que cela ressemble plus à ce que vous aviez en tête.

+0

Ça va mieux (plus centré), mais il y a toujours cette bordure noire en 'L'. J'ai ajouté une image pour illustrer. –

+0

@Etiennebr Ce sont les axes. J'ai édité la réponse pour les enlever aussi. – Aniko

+0

En effet, cela fonctionne. La frontière a disparu. Le seul inconvénient maintenant, c'est que je ne peux pas le centrer. C'est plus proche du côté supérieur et du côté gauche! Avez-vous une idée ? Si vous utilisez png ("symbol.png", width = 20, height = 20, bg = "transparent") ... votre code ... dev.off(), vous verrez. –

Questions connexes