143 votes

Contrôler la taille des points dans un diagramme de dispersion R?

Dans R, la fonction plot() prend un argument pch qui contrôle l’apparence des points dans le tracé. Je fais des nuages de points avec des dizaines de milliers de points et je préfère un petit point, mais pas trop petit. En gros, je trouve que pch='.' est trop petit, mais pch=19 est trop gros. Y at-il quelque chose au milieu ou un moyen de réduire les points d’une manière ou d’une autre?

120voto

rcs Points 22112

Essayez l' cex argument:

?par

  • cex
    Une valeur numérique donnant la montant par lequel le traçage de texte et les symboles doivent être amplifié par rapport la valeur par défaut. Notez que certains les graphiques des fonctions telles que de la parcelle.par défaut ont un argument de cette nom qui multiplie ce graphique paramètre, et des fonctions telles que les points d'accepter un vecteur des valeurs de qui sont recyclés. D'autres utilisations prendre une première valeur si un vecteur de longueur plus grande que l'on est fourni.

99voto

doug Points 29567

pch = 20 renvoie un symbole dont la taille est comprise entre "." et 19.

C'est un symbole rempli (c'est probablement ce que vous voulez).

De plus, même le système graphique de base en R permet à l'utilisateur de contrôler avec précision 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)

symbols(x=dfx$ev1, y=dfx$ev2, circles=dfx$ev3, inches=1/3, ann=F, bg="steelblue2", fg=NULL)
 

texte alternatif

29voto

aL3xa Points 10236

Comme le rcs a déclaré, cex va faire le travail de base dans le domaine du graphisme. Je pense que vous n'êtes pas prêt à faire de votre graphique en ggplot2 mais si vous le faites, il y a un size esthétique attribut, que vous pouvez facilement contrôler (ggplot2 a convivial des arguments de la fonction: au lieu de taper cex (caractère d'extension), en ggplot2 vous pouvez taper par exemple, size = 2 et vous obtiendrez 2mm point).

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)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X