/ / wykresy kolumnowe google warunkowo ustawione kolor - wykres, wizualizacja google

wykresy kolumnowe google warunkowo ustawić kolor - wykres, wizualizacja google

Chcę móc warunkowo ustawić kolordla danej kolumny w wykresie kolumnowym google wykresy zależne od jej wartości. na przykład, jeśli pasek jest <50, pokoloruj go na żółto lub powyżej 70, pokoloruj go na zielono. Byłoby świetnie, gdyby rozwiązanie zostało zrealizowane w samym interfejsie API, ale prawdopodobnie tak nie będzie.

Odpowiedzi:

1 dla odpowiedzi № 1

możesz użyć a "style" rola kolumny do konkretnych kolumn

rola stylu jest tylko kolumną w tabeli danych,
powinien być zgodny z kolumną serii

jeśli chcesz na przykład pokolorować kolumnę na zielono ...

["A", 100, "green"]

warunkowo przypisać kolor,
możemy użyć a Widok danychi setColumns metoda
co pozwala nam dodać kolumnę obliczeniową

patrz następujący fragment roboczy,
tablica służy do przechowywania zakresów wartości i powiązanego koloru ...

google.charts.load("current", {
packages: ["corechart"]
}).then(function () {
var data = google.visualization.arrayToDataTable([
["x", "y"],
["A", 9],
["B", 30],
["C", 50],
["D", 70],
["E", 90]
]);

var ranges = [
[0, 10, "#e53935"],    // red
[10, 50, "#fdd835"],   // yellow
[50, 90, "#43a047"],   // green
[90, null, "#1e88e5"]  // blue
];

var view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
calc: function (dt, row) {
var rowValue = dt.getValue(row, 1);
var color;
ranges.forEach(function (range, index) {
if ((rowValue >= range[0]) && ((rowValue < range[1]) || (range[1] === null))) {
color = range[2];
}
});
return color;
},
role: "style",
type: "string"
}]);

var chart = new google.visualization.ColumnChart(document.getElementById("chart_div"));
chart.draw(view, {
legend: "none"
});
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>