Estoy usando Echarts v5.2.2 (en un proyecto Angular, con ngx-echarts) para representar un gráfico de líneas usando varias series. Tengo un oyente para el evento 'resaltado'. Este evento me está dando un objeto con un lote de seriesIndex y dataIndex pero no proporciona el color de cada serie.
¿Hay alguna forma de obtener los colores que fueron asignados dinámicamente por echarts?
Esto es lo que estoy tratando de implementar:
this.chartInstance.on('highlight', this.handleShowTip); .seriesIndex y dataIndex donde el puntero del mouse se ajustó para representar una tabla usando el color, el valor x e y como columnas (la tabla se coloca fuera del gráfico.Entiendo que podría usar la opción de formateador de la información sobre herramientas con una función de devolución de llamada que proporcionará los colores de la serie en sus argumentos... y podría transmitir estos argumentos fuera de mi componente gráfico para representar lo que necesito en cualquier lugar que desee, pero esto no se siente correcto (un formateador tiene como objetivo devolver HTML o una cadena) y me pregunto si hay una mejor manera de obtener los colores de la serie generada.
¡Gracias!
Echarts utiliza una paleta integrada basada en el tema. La forma más fácil de obtener un conjunto de colores es esta:
myChart.getOption().colorPara obtener los colores que están asignados a la serie, puede hacer lo siguiente:
myChart.getModel().getSeries().map(s => { return { seriesIndex: s.seriesIndex, seriesColor: myChart.getVisual({ seriesIndex: s.seriesIndex }, 'color') } })Y el resultado será algo como esto:
[ { "seriesIndex":0, "seriesColor":"#5470c6" }, { "seriesIndex":1, "seriesColor":"#91cc75" }, { "seriesIndex":2, "seriesColor":"#fac858" }, { "seriesIndex":3, "seriesColor":"#ee6666" }, { "seriesIndex":4, "seriesColor":"#73c0de" } ]