Ich verwende Highcharters Polar-Diagramme und fragte mich, ob es die Fähigkeit hat, die Farben anhand von Kriterien zu ändern. Ich verwende das Diagramm, um Budget im Vergleich zu Ausgaben zu betrachten. Wenn Sie < Budget ausgeben, möchte ich, dass die Spalte grün ist. Wenn Budget ausgeben, möchte ich, dass die Spalte rot ist. Ist das möglich?R Highcharter: Polardiagramm mit bedingten Farben
Für das Beispiel im Code: "Logistik" und "IT & Telecom" ausgeben würde grün sein, würden alle anderen Ausgabenkategorien rot sein.
Die Antwort muss dynamisch sein, da sich der Über- oder Unterplan ständig ändert.
Unten ist eine vereinfachte Version des Codes.
library (shiny)
library (highcharter)
hc <- highchart() %>%
hc_chart(polar = TRUE) %>%
hc_title(text = "Budget vs Spending") %>%
hc_xAxis(categories = c("Energy", "Facilties", "IT & Telecom",
"Logistics", "Office Products", "Plant Consumables",
"Temp Labor", "Travel", "Other"),
tickmarkPlacement = "on",
lineWidth = 0) %>%
hc_yAxis(gridLineInterpolation = "polygon",
lineWidth = 0,
min = 0) %>%
hc_series(
list(
name = "Spend",
data = c(50000, 39000, 42000, 31000, 26000, 14000, 26000, 26000, 26000),
pointPlacement = "on",
type = "column"
),
list(
name = "Budget",
data = c(43000, 19000, 60000, 35000, 17000, 10000,10000,10000,10000),
pointPlacement = "on",
type = "line"
)
)
hc
Ich weiß nicht viel über R, sondern in Highcharts JS Ich würde Code für die Aktualisierung in 'chart.events.render' Eigenschaft schreiben: http://jsfiddle.net/kkulig/88mb6mq8/ Ich benutze' redrawEnabled Flag, um unendliche rekursive Schleife zu verhindern, die durch Neuzeichnen des Diagramms verursacht wird innerhalb dieses Ereignisses ('render' ruft' r auf edraw' Ereignis selbst). –