Estoy generando gráficos para algunos datos, pero el número de ticks es demasiado pequeño, necesito más precisión en la lectura.
¿Hay alguna forma de aumentar el número de ticks de eje en ggplot2?
Sé que puedo decirle a ggplot que use un vector como ticks de eje, pero lo que quiero es aumentar el número de ticks, para todos los datos. En otras palabras, quiero que el número de marca se calcule a partir de los datos.
Posiblemente ggplot haga esto internamente con algún algoritmo, pero no pude encontrar cómo lo hace, para cambiar de acuerdo a lo que quiero.
by
argumento, a diferentes escalas de números, es decir, 0.5 es un buen valor para este dato cuyo rango es c (-3,3), pero no es un buen rango para un dato cuyo rango es c (0,5000). ¿Hay alguna función que lo calcule?max-min/30
un "cubo" bastante común tamaño ... pero eso puede o no ser un buen punto de partida para usted.scale_x_date(date_breaks = "5 months", date_minor_breaks = "1 months")
coord_cartesian
debe utilizar en lugar dexlim
. stackoverflow.com/questions/25685185/…Según el comentario de Daniel Krizian , también puede usar la
pretty_breaks
función de lascales
biblioteca, que se importa automáticamente:Todo lo que tiene que hacer es insertar la cantidad de ticks que desea
n
.Una solución un poco menos útil (ya que debe especificar la variable de datos nuevamente), puede usar la
pretty
función integrada:fuente
scales
pero no agrega las funciones a su espacio de nombres. Por lo tanto, puede llamarlos sin importar comoscales::pretty_breaks(n = 10)
.Puede proporcionar un argumento de función a
scale
, y ggplot usará esa función para calcular las ubicaciones de los ticks.fuente
number_ticks
. Esto ya se ha implementado enpretty_breaks {scales}
. Por lo tanto:ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
require(scales)
2) esto parece evitar que mis descansos aparezcan en notación científica, por lo tanto, 1e6 se cambia a 1000000 ??pretty
sin elscales
paquete, solo proporcione los valores como argumento. Por ejemplo:(breaks=pretty(dat$x, n=10))
La próxima versión v3.3.0 de
ggplot2
tendrá una opciónn.breaks
para generar automáticamente descansos parascale_x_continuous
yscale_y_continuous
fuente
Adicionalmente,
Funciona para datos de eje x escalados en binarios o discretos (es decir, no es necesario redondear).
fuente