es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe una forma de escalar el eje x en un gráfico de barras (utilizando eCharts) para que siempre se posicione el cero en el centro?

Mi problema es que tengo muchos datos diferentes mostrados en el gráfico de barras a demanda del usuario.

Así es como se ve el gráfico ahora.

Graph now

Lo que quiero lograr es escalar de alguna manera el eje x de manera que el 0 esté siempre en el centro del gráfico. De esta manera, cuando cambie los datos y digamos que en el lado positivo el valor máximo es del 20% y en el lado negativo es del -60%, el 0 del eje x no estará en el lado derecho del gráfico, sino en el centro.

Estuve revisando la documentación de eCharts, pero no encontré ninguna solución. ¿Hay alguna forma de lograr eso sin cambiar los datos de la serie?

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución:

    Puede lograr el resultado deseado configurando el tipo de xAxis en 'value' y utilizando scale: true. Esto ajustará automáticamente la escala en función de los datos y mantendrá el valor 0 en el centro del gráfico.

    Aquí hay un ejemplo:

    option = {
      xAxis: {
        type: 'value',
        scale: true
      },
      yAxis: {
        type: 'category',
        data: ['A', 'B', 'C', 'D', 'E']
      },
      series: [{
        name: 'datos',
        type: 'bar',
        data: [{
            value: -40,
            label: {
              show: true,
              position: 'left'
            }
          },
          20,
          10,
          -30,
          50
        ]
      }]
    };
    

    Esto dará como resultado un gráfico donde el valor 0 está en el centro:

    Gráfico actualizado

Comments are closed.