plotly / plotly/plotly.R

No way to make legend order exactly match bar order in relative stacked bar plot

Offen
#1,694 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
R
Sterne
2.7k
Forks
641
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Sometimes we want to plot negative values below x axis in a stacked bar plot. This can be done with barmode as "relative".

Further, I want to make the legend order exactly match the bar order in plot. However the positive bars stack from middle to top, negative bars stack from middle to down, thus no matter how I arrange the variable levels, there is no way to make the legend order exactly match bar order.

library(plotly)
library(data.table)

set.seed(42)
dt_test <- data.table(x = rep(1:5, each = 6), variable = rep(letters[1:6], 5), value = sample(10:40, 30))
dt_test[variable %in% letters[3:5], value := -value]

dt_test[, variable := factor(variable, levels = c("c", "d", "e", "a", "b", "f"))]

plot_ly(dt_test) %>% 
  add_bars(x = ~x, y = ~value, color = ~variable) %>%
  layout(barmode = 'relative', legend = list(traceorder = "reversed"))

image

I'm not sure how this can be done, unless we

  • change the stack order in negative part as bottom up
  • or can arrange legend order freely without changing bar stack order

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das bereitgestellte R-Beispiel mit plot_ly(), add_bars(), barmode = "relative" und der aktuellen Legendeneinstellung zu reproduzieren. Untersuche, ob das angeforderte Verhalten für negative und positive Stapel unterstützt werden kann; abgeschlossen ist die Aufgabe, wenn die Reihenfolge der Legende genau der sichtbaren Reihenfolge der Balken entspricht oder die Einschränkung und das gewählte Ordnungsverhalten dokumentiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
r
Bereich
data-visualization
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.