Respuestas:
Creo que estás buscando esto:
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)
Intentaste algo como:
options(scipen=10000)
antes de trazar?
Solo una actualización de lo que hizo @Arun, ya que lo probé hoy y no funcionó porque se actualizó para
+ scale_x_continuous(labels = scales::comma)
require(scales)
? Esto importa el paquete que contiene la comma
báscula. Como ha descubierto, también puede especificar el paquete al referirse a él en lugar de solicitarlo de antemano.
Como solución más general, puede utilizar scales::format_format
para eliminar la notación científica. Esto también le brinda mucho control sobre cómo desea que se muestren exactamente sus etiquetas, en contraposición a lo scales::comma
que solo hace las separaciones por comas de los órdenes de magnitud.
Por ejemplo:
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)
Existe una solución que no requiere biblioteca de escalas.
Puedes probar:
# To deactivate scientific notation on y-axis:
p + scale_y_continuous(labels = function(x) format(x, scientific = FALSE))
# To activate scientific notation on y-axis:
p + scale_y_continuous(labels = function(x) format(x, scientific = TRUE))
# To deactivate scientific notation on x-axis:
p + scale_x_continuous(labels = function(x) format(x, scientific = FALSE))
# To activate scientific notation on x-axis:
p + scale_x_continuous(labels = function(x) format(x, scientific = TRUE))
¿No es la solución general más simple establecer la penalización que usa R para la notación científica más alta?
es decir, establezca scipen()
un número con el que se sienta cómodo.
Por ejemplo, si es probable que el máximo de su eje en los gráficos sea 100 000, la configuración scipen(200000)
garantizará que R (y ggplot) utilizarán la notación estándar para todos los números por debajo de 200000 y no habrá ningún requisito para agregar líneas a la función ggplot.