Point de contrôle de l'épaisseur de la bordure en ggplot
Lors de l'utilisation de ggplot, je peux mettre shape
à 21-25 à l'obtention de formes qui sont indépendantes de paramètre pour l'interne (fill
) et des frontières (col
) couleurs, comme suit:
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21)
Cependant, je ne peux pas comprendre comment le contrôle de l'épaisseur de la forme des frontières, soit en les définissant de manière absolue ou comme une esthétique de la cartographie. Je remarque que si j'ai mis un lwd
valeur, il remplace le size
esthétique:
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21, lwd=2)
Comment puis-je contrôler l'épaisseur de la bordure?
Vous devez vous connecter pour publier un commentaire.
À partir de la version 2.0.0 de ggplot2, il y a un argument de point de contrôle de l'épaisseur de la bordure. À partir de la
NEWS.md
fichier:Ainsi, la bonne solution c'est maintenant:
Il se sent très orthodoxe mais vous pouvez ajouter un "fond" ensemble de points avec la taille de l'ensemble de l'esthétique de la cartographie ainsi qu'une constante de agrandir la frontière des points. Jouer avec la constante pour obtenir la largeur de bordure désirée.
Vous aurez également à désactiver la taille de la légende pour arrêter l'affichage de la légende du graphique...
scale_stroke_manual
Une autre solution est de créer de l'intrigue dans la R puis l'exporter vers un .fichier svg. La largeur de raie peut ensuite être modifié à l'aide de graphiques vectoriels logiciel de montage (par exemple, Inkscape). Cette méthode est particulièrement utile lorsque les données des points de chevauchement.