2016-08-05 13 views
0

Unter den verschiedenen Linienarten, die für mode='markers' in einem plotly Streudiagramm verfügbar sind, ist marker=list(symbol='line-ns-open'). Dies kann verwendet werden, um vertikale Liniensegmente leicht auf einen bestimmten Wert zu zentrieren. Ich konnte keinen Linientyp finden, der vertikal ist und den Datenpunkt als Basis anstelle des Mittelpunkts verwendet. Gibt es eine Möglichkeit, dies zu tun?In R plotly gibt es ein vertikales Liniensymbol, das nicht am Datenpunkt zentriert ist?

+0

Shapes erlauben keinen benutzerdefinierten Hover-Text und erben nicht die Gruppierung von Daten als 'add_trace' und' plot_ly'. Auch beim Erstellen von hundert "Raum" -Objekten scheinen Formen viel Platz zu beanspruchen. –

Antwort

0

Ich glaube nicht, dass es ein Symbol gibt, das es tun wird, aber Sie könnten mode = "lines" in einer for-Schleife als getan here verwenden. Ich habe folgendes aus dem vorherigen Link angepasst:

x <- c(1:20, 1:20) 
y <- (1:40) 
color <- rep(c(team1 = "blue", team2 = "red"), each = 20) 

library(plotly) 

p <- plot_ly() 

for(i in seq_along(x)){ 
p <- add_trace(p, 
    x = c(x[i], x[i]), 
    y = c(y[i], y[i] + 1L), # make your lines as tall as you'd like 
    group = names(color[i]), 
    mode = "lines", 
    line = list(width = 1L, color = color[i]), 
    showlegend = FALSE, 
    evaluate = TRUE)} 

p 
+0

Ich denke, die Ausgabe wird in Ordnung sein, aber ich denke, es gibt einen zusätzlichen Aufwand bei der Erstellung von hundert Spuren in meinem Fall. –

+1

@FrankHarrell Definitiv extra Aufwand und größere Ausgabe, als wenn es einen passenden Symboltyp dafür gäbe. Fürs Erste ist dies das Beste, was ich mir vorstellen konnte, um die gewünschte Ausgabe zu erhalten. – Jota