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.

¿Es posible mostrar horas específicas por día en el DateAxis de AMChart4?

Estoy mostrando un gráfico de Gantt basado en el ejemplo de Gantt de AMCharts4 que hace casi todo lo que quiero. Pero necesito que el eje de fechas siempre muestre horas específicas del día.
Por ejemplo, todos los días desde las 8 a.m. hasta las 5 p.m. (o de 8 a 17). Incluso si no hay datos o incluso si hay más datos.

Ya he jugado con la configuración de intervalos (https://www.amcharts.com/docs/v4/concepts/axes/date-axis/), pero no obtengo exactamente el resultado que quiero.

Tags:  

Answer

  1. Avatar for davy.ai

    Para mostrar horas específicas del día en el eje de fechas de un gráfico de Gantt utilizando AMCharts4, puedes ajustar la configuración del intervalo de la siguiente manera:

    1. Configura la propiedad dateAxis.renderer.minGridDistance con un valor más bajo para aumentar la densidad de las líneas de la cuadrícula.
    2. Configura la propiedad dateAxis.baseInterval en dateAxis.createInterval() y establece su unidad de tiempo en “hour”. Esto establece el intervalo base para el eje en una hora.

    3. Configura la propiedad dateAxis.groupData en true para agrupar los elementos de datos por sus intervalos de tiempo correspondientes.

    4. Finalmente, configura la propiedad dateAxis.groupIntervals en un array de objetos que representen las horas específicas que deseas mostrar, donde cada objeto contenga una propiedad “timeUnit” establecida en “hour” y una propiedad “count” establecida en el número de horas.

    Código de ejemplo:

    chart.dateAxes.push(new am4charts.DateAxis());
    var dateAxis = chart.xAxes.getIndex(0);
    dateAxis.renderer.minGridDistance = 10;
    dateAxis.baseInterval = dateAxis.createInterval({ timeUnit: "hour" });
    dateAxis.groupData = true;
    dateAxis.groupIntervals = [
      {
        timeUnit: "hour",
        count: 1,
        label: "8:00"
      },
      {
        timeUnit: "hour",
        count: 1,
        label: "9:00"
      },
      // y así sucesivamente para cada hora que desees mostrar
    ];
    

    Esto debería mostrar las horas especificadas del día en el eje de fechas de tu gráfico de Gantt, incluso si no hay datos o incluso si hay más datos.

Comments are closed.