Placer une bordure autour de points
J'aimerais placer une bordure noire autour de points sur un nuage de points qui sont remplis fondées sur des données, à l'aide de ggplot2. Aussi, je voudrais éviter d'avoir une entrée de légende pour la bordure noire car il sera sur chaque point. Fondamentalement, je suis à la recherche de ce complot, mais avec une bordure noire autour de chaque point.
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(colour=id), size=12)
Comme un bonus, j'aimerais pas avoir une entrée de légende pour la bordure noire. Mon meilleur essai est:
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(fill=id, colour="black"), size=12)
Qui donne:
Je ne comprends pas pourquoi ça ne veut pas me donner ce que je veux, et pour le pire (pour mes études au ggplot2) je ne comprends pas pourquoi il ne semble pas que la carte de la couleur de remplissage à rien! Toute aide?
Peut-être que si je peux obtenir le contour et remplissage de la cartographie droit je peux utiliser un hack comme celui de la dernière série de chiffres ici pour désactiver la légende.
Vous devez vous connecter pour publier un commentaire.
C'est un peu obscur, mais vous devez utiliser les
pch
>20 (je pense à 21:25 sont les formes pertinentes):fill
contrôles à l'intérieur de colo(u)de l'anneau et decolour
contrôles de la ligne autour du bord.mise à jour: avec les récentes ggplot2 versions (par exemple, la version 2.0.0, ne sais pas combien de temps il va) la valeur par défaut guide est un colourbar. Besoin
g0 + guides(fill="legend")
pour obtenir une légende avec des points comme dans la parcelle montré ici. La valeur par défaut pauses ont changé, aussi: à exactement reproduire ce terrain vous avez besoing0 + scale_fill_continuous(guide="legend",breaks=seq(0.2,0.8,by=0.1))
...Liés, mais pas identiques: comment créer une intrigue avec des points dans R? . La accepté de répondre à cette question, qui utilise la technique de stratification montré dans @joran réponse, mais (OMI), la réponse par @jbaums, qui utilise le
pch=21
technique, est supérieure. (Je pense queshape=21
est une alternative, et peut-être même préféré, àpch=21
.)PS vous devriez mettre
colour
à l'extérieur la cartographie (aes
bits) si vous voulez en faire absolument, et non selon la valeur d'une variable ...width
etlwd
), désolé.factor(id)
?La première question est un gimme:
Et, oh, vous ne pas voulez un supplément de légende. Je pense que c'est-il alors:
df
) à l'aide dernorm
oujitter
. Vous pouvez stocker ces valeurs dans une nouvelle variable dans le cas où vous avez besoin de valeurs brutes en aval.J'ai eu le même problème, mais j'ai besoin d'une solution qui permet de gigue, trop. Pour cela, vous devez utiliser un pch, qui est une forme remplie avec une bordure et une grille.fonction d'édition de gridExtra paquet. À l'aide de votre exemple: