Saltar al contenido

Dibuja una línea horizontal en el gráfico en chart.js en v2

Investigamos por diferentes espacios y así de este modo mostrarte la respuesta a tu duda, si tienes dificultades déjanos la pregunta y te respondemos con mucho gusto.

Solución:

Puede usar el complemento de anotación chart.js para dibujar fácilmente líneas en su gráfico sin tener que meterse con la representación manual de píxeles en su lienzo (el enfoque antiguo que le está dando errores). Tenga en cuenta que el complemento es creado y respaldado por el mismo equipo que chart.js y se menciona en los documentos de chart.js.

Aquí hay un codepen de ejemplo que demuestra la creación de una línea en un gráfico.

Una vez que agregue el complemento, simplemente configure annotation propiedades en la configuración de su gráfico. Aquí hay un ejemplo.

var myChart = new Chart(ctx, 
  type: 'line',
  data: 
    labels: ["January", "February"],
    datasets: [
      label: 'Dataset 1',
      borderColor: window.chartColors.blue,
      borderWidth: 2,
      fill: false,
      data: [2, 10]
    ]
  ,
  options: 
    responsive: true,
    title: 
      display: true,
      text: 'Chart.js Draw Line On Chart'
    ,
    tooltips: 
      mode: 'index',
      intersect: true
    ,
    annotation: 
      annotations: [
        type: 'line',
        mode: 'horizontal',
        scaleID: 'y-axis-0',
        value: 5,
        borderColor: 'rgb(75, 192, 192)',
        borderWidth: 4,
        label: 
          enabled: false,
          content: 'Test label'
        
      ]
    
  
);

Si está utilizando el MNP paquete chartjs-plugin-annotation.js, lo importante, que puede olvidar, es Registrarse el complemento

Entonces, antes que nada, instaló los paquetes npm (aquí para Reaccionar):

npm i react-chartjs-2                (depends on your framework)
npm i chartjs-plugin-annotation      (always required)

Consulte Vue.js o Angular para conocer los paquetes que dependen de su marco.

Opción 1: registro de complemento global

import  Line  from 'react-chartjs-2';
import Chart from 'chart.js';
import * as ChartAnnotation from 'chartjs-plugin-annotation';

Chart.plugins.register([ChartAnnotation]); // Global

// ...
render() 
    return (
        
    )

Opción 2: registro de complemento por gráfico

import  Line  from 'react-chartjs-2';
import * as ChartAnnotation from 'chartjs-plugin-annotation';

// ...
render() 
    return (
                                                   /* per chart */
        
    )

chartData es equivalente a la data: { sección y chartOpts para options: { de la respuesta de jordanwillis. Consulte esta publicación de github para obtener más información.

Hay muchos otros complementos disponibles para chart.js.

si desea dibujar la línea de umbral, la forma más fácil es usar mixed Gráfico de linea.

Nota: Haz un array lleno con el valor de umbral y la longitud debe ser la misma que su conjunto de datos.

var datasets = [1, 2, 3];
var ctx = document.getElementById('chart').getContext('2d');
var thresholdValue = 2;
var thresholdHighArray = new Array(datasets.length).fill(thresholdValue);
var myChart = new Chart(ctx, 
            type: 'line',
            data: 
                labels: [],
                datasets: [
                datasets, thresholdHighArray]
            ,         
            options: 
                responsive: true,
                legend: 
                    position: 'bottom',
                ,
                scales: 
                    xAxes: [
                        display: true,
                        scaleLabel: 
                                display: true,
                                labelString: 'Readings'
                        
                    ],
                    yAxes: [
                        display: true,
                        scaleLabel: 
                                display: true,
                                labelString: 'Reading ( °C )'
                        
                    ]
                ,
                annotation: 
                  annotations: [
                    
                      type: "line",
                      mode: "vertical",
                      scaleID: "x-axis-0",
                      borderColor: "red",
                      label: 
                        content: "",
                        enabled: true,
                        position: "top"
                      
                    
                  ]
                
        );
    ;

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *