J'ai du mal à recréer un tracé depuis la mise à jour vers ggplot version 2.0.0: il semble que je ne puisse pas réduire la taille des points autant qu'auparavant, ce qui est un problème dans un tracé avec de nombreux points. Dans les exemples ci-dessous, il y a une différence raisonnable de taille de point entre plot1 et plot2, la taille de point dans plot3 est au moins un peu plus petite, mais entre plot3 et plot4 il n'y a pas de différence de taille de point:
df <- data.frame(x=1:10, y=runif(10))
pl <- ggplot(df) +
geom_point(aes(x,y), size=1)
ggsave("plot1.png", plot=pl, width=14, height=7, units="cm", dpi=1200 )
pl <- ggplot(df) +
geom_point(aes(x,y), size=0.1)
ggsave("plot2.png", plot=pl, width=14, height=7, units="cm", dpi=1200 )
pl <- ggplot(df) +
geom_point(aes(x,y), size=0.01)
ggsave("plot3.png", plot=pl, width=14, height=7, units="cm", dpi=1200 )
pl <- ggplot(df) +
geom_point(aes(x,y), size=0.001)
ggsave("plot4.png", plot=pl, width=14, height=7, units="cm", dpi=1200 )
Dans la version précédente de ggplot2, j'avais utilisé une taille en points de 0,25 et elle avait l'air beaucoup plus petite que maintenant, c'est pourquoi j'ai essayé de la réduire davantage en utilisant la nouvelle version de ggplot2. Dois-je manquer un changement dans le code de la nouvelle version? Impossible de trouver quoi que ce soit dans la documentation ...
Ok, j'ai trouvé la solution. Comme indiqué par @henrik et @silkita, la forme par défaut est désormais passée de 16 à 19 dans la dernière version de ggplot2. Et comme vous pouvez le voir dans la documentation (par exemple ici ) la forme '19' est légèrement plus grande que '16'. Mais ce n'est pas la raison pour laquelle les "points" sont plus gros dans la version 2.0.0. En regardant la source ggplot2 de geom-point.R
pour la dernière version, nous pouvons voir que:
default_aes = aes(
shape = 19, colour = "black", size = 1.5, fill = NA,
alpha = NA, stroke = 0.5
)
Alors que dans les versions précédentes, c'était:
default_aes <- function(.) aes(shape=16, colour="black", size=2, fill = NA, alpha = NA)
Ensuite, pour avoir le petit point comme avant, nous devons mettre stroke
à zéro. Pour résumer, pour obtenir le plus petit point, vous devez écrire:
geom_point(size = 0.1) # ggplot2 before 2.0.0
geom_point(size = 0.1, stroke = 0, shape = 16) # ggplot2 2.0.0
Soit dit en passant, lorsque vous travaillez avec les plus petits points, il n'y a aucune différence entre l'utilisation de formes différentes (un pixel reste un pixel).
[~ # ~] mise à jour [~ # ~] : Comme indiqué sur Twitter par Hadley Wickham, ce changement a été expliqué dans les notes de version
Essayez d'utiliser le paramètre de forme:
n <- 10000
df <- data.frame(x=1:n, y=runif(n))
pl <- ggplot(df) +
geom_point(aes(x,y), size=1,shape=".") + labs(title="shape='.',size=1")
pl
rendements:
tandis que:
pl <- ggplot(df) +
geom_point(aes(x,y), size=1) + labs(title="size=1")
pl
donne: et c'est la même chose pour toutes les petites tailles)
--- (