Contexto: tengo un gráfico circular con sectores dinámicos (el usuario puede agregar tantos sectores como desee) y me gustaría mantener el último sector circular (llamado Loss ) en rojo (este sector circular sería esencialmente el último índice) .
var data = new google.visualization.DataTable(); data.addColumn("string", "Ativo"); data.addColumn("number", "Quota"); data.addRows([ ...slices.map((slice) => [slice.ativo, slice.quota]), ["Loss", perda], ]); console.log(data); //Styling let options = { legend: "right", pieHole: 0.5, legend: { textStyle: { color: "gray" } }, pieSliceText: "value", slices: { 0: { color: "red" }, //I want this to pass the last index dynamically (as the user addes new elements, it updates to be the last index). As of now, this will give color red to the 1st element }, colors: ["#728FCE", "#FBB117", "#6AA121", "#4863A0", "#7D0552", "#FF0000"], backgroundColor: "#22252a", chartArea: { left: 50, right: 50, top: 70, }, width: "100%", height: "500px", }; var chart = new google.visualization.PieChart( document.getElementById("piechart") ); chart.draw(data, options); }Probé este SO: Google Visualization - Set Pie Chart Slice Color , pero no tuve éxito.
Básicamente, me gustaría cambiar el objeto de slices dentro de la variable de options para que sea algo como esto
slices: { data[data.lenght-1]: {color:"red"} }pero esto no funciona. Parece que solo acepta 0,1,2,3, etc. Intenté crear la cantidad de elementos agregados por el usuario, guardándolos como una variable y luego pasar esa variable al objeto de cortes para establecer el color ( por lo tanto, si el usuario agregó 2 elementos, la variable tendría números enteros de 0,1 y 2 y el último valor (2) serviría como índice para establecerse en color rojo), pero no tuvo éxito.
O de alguna manera arreglar la fila de Loss como de color rojo
¿Alguna ayuda?
Gracias