Dans ggplot2, comment puis-je éviter que les étiquettes d'axe soient abrégées - par exemple. 1e+00, 1e+01
le long de l’axe des x une fois tracé? Idéalement, je veux forcer R à afficher les valeurs réelles qui seraient dans ce cas 1,10
.
Toute aide très appréciée.
Je pense que vous cherchez ceci:
require(ggplot2)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))
# displays x-axis in scientific notation
p <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p
# displays as you require
require(scales)
p + scale_x_continuous(labels = comma)
Avez-vous essayé quelque chose comme:
options(scipen=10000)
avant de comploter?
Juste une mise à jour de ce que @Arun a créé, puisque je l’ai essayé aujourd’hui et que cela n’a pas fonctionné car il a été actualisé.
+ scale_x_continuous(labels = scales::comma)
Comme solution plus générale, vous pouvez utiliser scales::format_format
pour supprimer la notation scientifique. Cela vous donne également beaucoup de contrôle sur la façon dont vous voulez que vos étiquettes soient affichées, par opposition à scales::comma
qui ne fait que des séparations à la virgule des ordres de grandeur.
Par exemple:
require(ggplot2)
require(scales)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))
# Here we define spaces as the big separator
point <- format_format(big.mark = " ", decimal.mark = ",", scientific = FALSE)
# Plot it
p <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p + scale_x_continuous(labels = point)