2017-07-12 3 views
0

Ich versuche, ein Barplot mit einem Streudiagramm in Plotlay zu überlagern. Ich habe es geschafft, beides zu zeichnen, und alles sieht gut aus, wenn ich nur Marker verwende, aber ich muss mich den Markierungen anschließen. Mit lines+markers verbindet es jeden Punkt wie einen geschlossenen Pfad. Ich nehme an, das Problem ist, dass meine X-Achsen-Variable kategorisch ist und ich nicht weiß, wie ich sie beheben kann. Ich kann nicht den ursprünglichen Code schreiben, aber ist so etwas wie:r - verbinde nur aufeinanderfolgende Marker mit Linien in plotly

to_plot2[, cat_var := as.factor(cat_var)] 

pp2 = plot_ly(to_plot2) %>% 
    add_trace(x = ~cat_var, y = ~var_1, type = 'bar', name = 'bar', 
      marker = list(color = '#C9EFF9'), 
      hoverinfo = "text") %>% 
    add_trace(x = ~cat_var, y = ~var_2, type = 'scatter', mode = 'lines+markers', name = 'lines', yaxis = 'y2', 
      hoverinfo = "text") %>% 

    layout(title = 'foo', 
     xaxis = list(title = "", type = "category", 
         categoryorder = "'array'"), 
     yaxis = list(side = 'left', showgrid = FALSE, zeroline = FALSE), 
     yaxis2 = list(side = 'right', overlaying = "y", showgrid = FALSE, zeroline = FALSE)) 

und der Ausgang ist:

--

Jede Hilfe?

Vielen Dank im Voraus

Antwort

0

Ich habe gerade das Problem gelöst. Wenn Sie cat_var als Schlüssel einstellen, wird der Datenrahmen auf geeignete Weise neu angeordnet.

Danke!