Echarts: cómo obtener los valores de x e y durante los eventos del ratón.
Tengo el siguiente gráfico:
const quotesChart = echarts.init(quotesContainer);
quotesChart.setOption({
dataset: [
{ source: quotes }
],
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
position: 'left',
}
],
series: [
{
name: 'Quotes',
type: 'line',
datasetIndex: 0,
}
]
})
quotesChart.getZr().on(“mousemove”, function(params){
const pointInPixel = [params.offsetX, params.offsetY];
// ¿Cómo puedo obtener los valores x e y de la posición actual del ratón?
// Veo algunos ejemplos que utilizan convertFromPixel, pero no sé cómo usar estas coordenadas para obtener los valores x e y
const pointInGrid = quotesChart.convertFromPixel(‘grid’, pointInPixel);
})
El origen de datos de quotes
se ve así: [{period: '20/01/2021', value: 15.59}, {period: '21/01/2021', value: 15.99}]
Necesito obtener los valores de los ejes x e y (ej: 20/01/2021
y 15.59
) pero no sé cómo, solo tengo las coordenadas de la cuadrícula.
Gracias.
davy.ai
Para obtener los valores de los ejes x e y basados en las coordenadas de la cuadrícula, puedes utilizar el método
getValueAxis()
del objetoquotesChart
. Este método toma un argumento que especifica el índice del eje que deseas recuperar (en este caso, sería0
para el eje x y1
para el eje y).Una vez que tengas los objetos de los ejes de valores, puedes utilizar su método
pointToData()
para convertir las coordenadas de píxeles a los valores de datos correspondientes del eje.Aquí tienes un ejemplo de cómo podrías modificar el evento
mousemove
listener para obtener los valores de x e y para la posición actual del mouse:Este código obtiene los objetos de los ejes x e y utilizando el método
getComponent()
del objetochart model
. Luego convierte las coordenadas de la cuadrícula a valores de datos utilizando el métodopointToData()
de cada objeto de eje. Por último, muestra los valores de x e y en la consola con fines de depuración.