R Plotly: X-Achse kann nicht neu angeordnet werden, wenn der Achsentyp Kategorie @ is

Ich habe folgende Daten:

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))

Ich hätte gerne ein Liniendiagramm mitRTPAD_TOT gegenFISCAL_YEAR_WEEK, gruppiert nach den anderen Variablen.FISCAL_YEAR_WEEK steht für die Geschäftsjahreswoche eines Geschäftsjahres. 2016-11 ist die 11. Woche des Geschäftsjahres 2016. Hier ist mein Plotcode:

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)

Dies führt jedoch dazu, dass meine x-Achse nicht in der angegebenen Reihenfolge angeordnet ist:

Offensichtlich möchte ich, dass 2016-09 vor 2016-10 in die Grafik kommt. Aber meinFISCAL_YEAR_WEEK in der x-Achse ist alles durcheinander.

Usingggplot2 um das gleiche Diagramm zu konstruieren, wird meine x-Achse nicht durcheinander gebracht:

ggplot(data = myData, 
       aes(x = FISCAL_YEAR_WEEK, 
           y = RTPAD_TOT, 
           group = interaction(MOTOR_VEND_ID, HGA_SUPPLIER)))) +
  geom_line()

Das Aussehen meiner Achse aus dem obigen Code wird alles gut sein, bis ...

ggplotly()

Ich wollte mein ggplot zu plotly konvertieren. Nach demggplotly() Kommando, meine x-Achse wird wieder durcheinander gebracht.

Ich brauche dastype = "category" -Option in meiner X-Achse, da ich nur die Daten sehen möchte, die in den Daten vorhanden sind. Außerdem wird plotly den Zeitraum 2016-09 so interpretieren, dass er im September 2016 statt in der 9. Geschäftsjahreswoche 2016 stattfindet. Ich erstelle eine glänzende Anwendung, bei der meine x-Achse vom Benutzer nicht nur als Datums- / Uhrzeitvariable, sondern auch als andere Variable geändert werden kann auch. Manchmal kann es sich um Seriennummern wie 001, 002, 120 handeln. Es macht also keinen Sinn, sie numerisch / datetime zu machen, da dies zu einer großen Lücke zwischen 002 und 120 führtype = "category"ier ist die Option @ erforderlich.

Ich habe auch versucht, das @ zu faktorisierFISCAL_YEAR_WEEK aber es funktioniert nicht:

myData$FISCAL_YEAR_WEEK <- factor(myData$FISCAL_YEAR_WEEK,levels=sort(unique(myData$FISCAL_YEAR_WEEK)))

Meine X-Achse wird in plotly @ noch durcheinander gebrach

Antworten auf die Frage(2)

Ihre Antwort auf die Frage