R Plotly: no se puede reorganizar el eje x cuando el tipo de eje es categoría
Tengo los siguientes datos:
myData <- data.frame(FISCAL_YEAR_WEEK = c('2016-09','2016-09','2016-09','2016-09','2016-09','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-11','2016-11','2016-11','2016-11','2016-12','2016-12','2016-12','2016-12','2016-12','2016-12','2016-14','2016-14','2016-14','2016-14'),
MOTOR_VEND_ID = c('7','E','F','F','M','7','9','E','E','F','F','M','R','7','E','F','F','E','E','F','F','M','M','7','E','F','M'),HGA_SUPPLIER=c('RHO','RHO','HWY','RHO','RHO','RHO','RHO','HWY','RHO','HWY','RHO','RHO','RHO','RHO','RHO','HWY','RHO','HWY','RHO','HWY','RHO','HWY','RHO','RHO','RHO','RHO','RHO'),
RTPAD_TOT = c(0,0,0,0,0,0,420,6,0,0,0,20,1,76,0,0,0,76,62,0,0,0,0,6,1,1,0))
Me gustaría tener un gráfico de líneas conRTPAD_TOT
en contraFISCAL_YEAR_WEEK
, agrupados por los otros valores.FISCAL_YEAR_WEEK
representa la semana fiscal en un año fiscal. 2016-11 significa la undécima semana del año fiscal 2016. Aquí está mi código de trama:
ax <- list(
type = "category",
showgrid = TRUE,
showline = TRUE,
autorange = TRUE,
showticklabels = TRUE,
ticks = "outside",
tickangle = 0
)
ay <- list(
range = c(0,300),
dtick = 50,
showgrid = TRUE,
showline = TRUE,
autorange = FALSE,
showticklabels = TRUE,
ticks = "outside",
tickangle = 0
)
plot_ly(myData,
x = FISCAL_YEAR_WEEK,
y = RTPAD_TOT,
type = 'scatter',
mode = 'markers+lines',
color = interaction(MOTOR_VEND_ID,HGA_SUPPLIER)) %>%
layout(xaxis = ax, yaxis = ay)
Sin embargo, esto da como resultado que mi eje x no esté organizado en orden:
Obviamente, me gustaría que 2016-09 venga antes de 2016-10 en la tabla. Pero miFISCAL_YEAR_WEEK
en el eje x está todo revuelto.
Utilizandoggplot2
para construir la misma trama no revuelve mi eje x:
ggplot(data = myData,
aes(x = FISCAL_YEAR_WEEK,
y = RTPAD_TOT,
group = interaction(MOTOR_VEND_ID, HGA_SUPPLIER)))) +
geom_line()
La apariencia de mi eje del código anterior será buena hasta ...
ggplotly()
Quería convertir mi ggplot a plotly. Después de laggplotly()
comando, mi eje x se volverá a mezclar.
Necesito eltype = "category"
opción en mi eje x ya que solo quiero ver las fechas que están presentes en los datos. Además, plotly interpretará erróneamente 2016-09 como septiembre de 2016 en lugar de la novena semana fiscal de 2016. Estoy creando una aplicación brillante donde el usuario puede cambiar mi eje x para que no solo sea una variable de fecha y hora, sino otra variable también. A veces, pueden ser números de serie como 001, 002, 120. Por lo tanto, no tiene sentido hacerlo numérico / datetime ya que esto hará una gran brecha entre 002 y 120. Entoncestype = "category"
La opción es necesaria aquí.
También he tratado de factorizar elFISCAL_YEAR_WEEK
pero no funciona
myData$FISCAL_YEAR_WEEK <- factor(myData$FISCAL_YEAR_WEEK,levels=sort(unique(myData$FISCAL_YEAR_WEEK)))
mi eje x todavía estará enredado en plotly