Contrôler la taille des points dans un nuage de points R ?
-
24-09-2019 - |
Question
Dans R, le plot()
la fonction prend un pch
argument qui contrôle l’apparence des points dans le tracé.Je crée des nuages de points avec des dizaines de milliers de points et je préfère un point petit, mais pas trop petit.En gros, je trouve pch='.'
être trop petit, mais pch=19
être trop gros.Y a-t-il quelque chose au milieu ou un moyen de réduire les points d'une manière ou d'une autre ?
La solution
Essaie le cex
argument:
?par
cex
Une valeur numérique donnant le montant par lequel le traçage du texte et des symboles doit être amplifié par rapport à la valeur par défaut.Notez que certaines fonctions graphiques telles que Plot.Default ont un argument de ce nom qui multiplie ce paramètre graphique, et certaines fonctions telles que les points acceptent un vecteur de valeurs recyclé.D’autres utilisations ne prend que la première valeur si un vecteur d’une longueur supérieure à un est Fourni.
Autres conseils
pch=20 renvoie un symbole de taille entre « . » et 19.
C'est un rempli symbole (ce qui est probablement ce que vous voulez).
En dehors de cela, même le système graphique de base de R permet à l’utilisateur un contrôle précis sur la taille, la couleur et la forme des symboles.Par exemple.,
dfx = data.frame(ev1=1:10, ev2=sample(10:99, 10), ev3=10:1)
with(dfx, symbols(x=ev1, y=ev2, circles=ev3, inches=1/3,
ann=F, bg="steelblue2", fg=NULL))
Comme RCS déclaré, cex
fera le travail dans le package graphique de base.Je pense que vous n'êtes pas disposé à faire votre graphique ggplot2
mais si tu le fais, il y a un size
attribut esthétique, que vous pouvez facilement contrôler (ggplot2
a des arguments de fonction conviviaux :au lieu de taper cex
(expansion du caractère), dans ggplot2
vous pouvez taper par ex. size = 2
et vous obtiendrez une pointe de 2 mm).
Voici l'exemple :
### base graphics ###
plot(mpg ~ hp, data = mtcars, pch = 16, cex = .9)
### ggplot2 ###
# with qplot()
qplot(mpg, hp, data = mtcars, size = I(2))
# or with ggplot() + geom_point()
ggplot(mtcars, aes(mpg, hp), size = 2) + geom_point()
# or another solution:
ggplot(mtcars, aes(mpg, hp)) + geom_point(size = 2)