2016-04-27 10 views
3

Ich versuche, mit Farbcodierung auf einen Wert zu plotten, und Standardlegende Namen ändern. Es scheint nicht zu funktionieren.R plotly Angabe benutzerdefinierte Legendenname mit Farbparameter

Dieser Code zeichnet, was ich in erster Linie wollen:

df <- data.frame(x = 1:10, y = 1:10) 
plot_ly(df, x = x, y = y, color = y > 5, mode = 'markers') 

Jetzt versuche ich, die Standard-Legende Namen zu ändern, so dass sie mehr erklärend sind:

plot_ly(df, x = x, y = y, color = y > 5, mode = 'markers', name = c('Y <= 5', 'y > 5')) 

nicht alles tun, auch wenn plotly documentation sagt Name ist der richtige Weg, um den Namen der Legende zu ändern.

Ich möchte nur die Legende Namen beschreibender als einfache true und false, wie sie in der Handlung gezeigt werden.

+0

vielleicht könnten Sie eine zusätzliche Spalte (mit ‚Y <= 5', 'y > 5‘ als Faktorstufe), um Ihre df und Farbe Ihre Punkte zu erstellen. – MLavoie

+0

Das ist, was ich gerade mit cut2 als Workaround mache, aber es ist ein zusätzlicher Verarbeitungsschritt, den ich zu vermeiden hoffe. – Gopala

+0

Ich glaube, 'name' kann verwendet werden, um eine einzelne Spur zu benennen. Nicht sicher, dass Sie mehrere Spuren wie folgt benennen können. Am besten, eine separate Spalte wie @MLavoie vorgeschlagen – royr2

Antwort

0

Farbe durch dritte Variable, hier hinzugefügt mit dplyr. basierend auf dieser neuen Spalte

df <- data.frame(x = 1:10, y = 1:10) 

df %>% 
    dplyr::mutate(col = ifelse(y >= 5, ">= 5", "< 5")) %>% 
    plot_ly(x = ~x, color = ~col, mode = 'markers') %>% 
    add_markers(y = ~y) 

plot

+0

Code funktioniert nicht mehr. Könnte sein, dass aufgrund der letzten Plotly Update müssen Sie den Farbwert woanders hinzufügen – 5th

+0

Ich habe die Ausgabe hinzugefügt, funktioniert immer noch für mich auf 4.7.0 - haben Sie 'dplyr' installiert? – JohnCoene

Verwandte Themen