222 votes

Augmentation du nombre d'axes de tiques dans ggplot2

Je suis de la génération ggplot parcelles pour certaines données, mais le nombre de tiques est trop petite, j'ai besoin de plus de précision " sur la lecture.

Est-il un moyen d'augmenter le nombre d'axes de tiques dans ggplot2?

Je sais que je peux dire ggplot d'utiliser un vecteur de l'axe des tiques, mais ce que je veux, c'est d'augmenter le nombre de tiques, pour toutes les données. En d'autres termes, je veux que la tique soit calculé à partir des données. Éventuellement ggplot le faire en interne avec un algorithme, mais je ne pouvais pas trouver comment il le fait, à changer en fonction de ce que je veux.

Merci!

213voto

Chase Points 27342

Vous pouvez remplacer ggplots échelles par défaut en modifiant scale_x_continuous et/ou scale_y_continuous. Par exemple:

library(ggplot2)
dat <- data.frame(x = rnorm(100), y = rnorm(100))

ggplot(dat, aes(x,y)) +
  geom_point()

Vous donne ceci:

enter image description here

Et en remplaçant la balance peut vous donner quelque chose comme ceci:

ggplot(dat, aes(x,y)) +
  geom_point() +
  scale_x_continuous(breaks = round(seq(min(dat$x), max(dat$x), by = 0.5),1)) +
  scale_y_continuous(breaks = round(seq(min(dat$y), max(dat$y), by = 0.5),1))

enter image description here

Si vous souhaitez simplement "zoomer" sur une partie d'un complot, regardez - xlim() et ylim() respectivement. Bonne idée peut également être trouvé ici de comprendre les autres arguments.

67voto

crowding Points 517

Vous pouvez fournir un argument de fonction d' scale, et ggplot va utiliser cette fonction pour calculer la tique endroits.

library(ggplot2)
dat <- data.frame(x = rnorm(100), y = rnorm(100))
number_ticks <- function(n) {function(limits) pretty(limits, n)}

ggplot(dat, aes(x,y)) +
  geom_point() +
  scale_x_continuous(breaks=number_ticks(10)) +
  scale_y_continuous(breaks=number_ticks(10))

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