r - change - ggplot title size
Formato de fechas en el eje X en ggplot2 (2)
¿Puedes usar la fecha como un factor?
Sí, pero probablemente no deberías.
... o deberías usar
as.Date
en una columna de fecha?
Sí.
Lo que nos lleva a esto:
library(scales)
df$Month <- as.Date(df$Month)
ggplot(df, aes(x = Month, y = AvgVisits)) +
geom_bar(stat = "identity") +
theme_bw() +
labs(x = "Month", y = "Average Visits per User") +
scale_x_date(labels = date_format("%m-%Y"))
en el que he agregado stat = "identity"
a tu llamada de geom_bar
.
Además, el mensaje sobre el ancho de banda no fue un error. Un error realmente indicará "Error" en él, y de manera similar una advertencia siempre dirá "Advertencia" en él. De lo contrario, es solo un mensaje.
Estoy teniendo un momento muy, muy difícil para que el eje x se vea correcto para mis gráficos.
Aquí están mis datos (generados a través de dput()
):
df <- structure(list(Month = structure(1:12, .Label = c("2011-07-31", "2011-08-31", "2011-09-30", "2011-10-31", "2011-11-30", "2011-12-31", "2012-01-31", "2012-02-29", "2012-03-31", "2012-04-30", "2012-05-31", "2012-06-30"), class = "factor"), AvgVisits = c(6.98655104580674,7.66045407330464, 7.69761337479304, 7.54387561322994, 7.24483848458728, 6.32001400498928, 6.66794871794872, 7.207780853854, 7.60281201431308, 6.70113837397123, 6.57634103019538, 6.75321935568936)), .Names = c("Month","AvgVisits"), row.names = c(NA, -12L), class = "data.frame")
Aquí está el gráfico que estoy tratando de graficar:
ggplot(df, aes(x = Month, y = AvgVisits)) +
geom_bar() +
theme_bw() +
labs(x = "Month", y = "Average Visits per User")
Ese gráfico funciona bien, pero, si quiero ajustar el formato de la fecha, creo que debería agregar esto: scale_x_date(labels = date_format("%m-%Y"))
Intento que las etiquetas de fecha sean ''MMM-YYYY''
ggplot(df, aes(x = Month, y = AvgVisits)) +
geom_bar() +
theme_bw() +
labs(x = "Month", y = "Average Visits per User") +
scale_x_date(labels = date_format("%m-%Y"))
Cuando trazo eso, continúo recibiendo este error:
stat_bin: binwidth defaulted to range/30. Use ''binwidth = x'' to adjust this.
A pesar de las horas de investigación sobre el formato de geom_line
y geom_bar
, no puedo solucionarlo. ¿Alguien puede explicar lo que estoy haciendo mal?
Editar: como un pensamiento de seguimiento: ¿Se puede usar la fecha como un factor, o se debe usar como fecha de vencimiento?
Para mostrar meses como enero de 2017 feb 2017, etc.
scale_x_date(date_breaks = "1 month", date_labels = "%b %Y")
Ángulo de las fechas si ocupan demasiado espacio:
theme(axis.text.x=element_text(angle=60, hjust=1))