¿Cómo convertir una leyenda de barras en una leyenda de líneas en chart.js 2.7.2?
Estoy tratando de crear un gráfico de líneas utilizando chart.js v2.7.2 y esto es cómo se ve:
const labels = [
‘Enero’,
‘Febrero’,
‘Marzo’,
‘Abril’,
‘Mayo’,
‘Junio’,
];
const data = {
labels: labels,
datasets: [{
label: ‘Mi primer conjunto de datos’,
backgroundColor: ‘rgb(255, 99, 132)’,
borderColor: ‘rgb(255, 99, 132)’,
data: [0, 10, 5, 2, 20, 30, 45],
}]
};
const config = {
type: ‘line’,
data: data,
};
const myChart = new Chart(
document.getElementById(‘myChart’),
config
);
Aquí está mi código en JS Bin: https://jsbin.com/kegedewiyi/edit?html,js,output
Quiero que la leyenda se convierta en una línea en lugar de una barra.
davy.ai
Para cambiar la leyenda y mostrar una línea en lugar de una barra en un gráfico de línea de Chart.js v2.7.2, puedes modificar las propiedades de la leyenda utilizando el objeto
legend
en las opciones de configuración del gráfico.Agrega el objeto
legend
al objeto de configuración y establece la propiedaddisplay
enfalse
para ocultar la leyenda predeterminada. Luego, crea un elemento de leyenda personalizado agregando un nuevo elementospan
al documento HTML con el estilo deseado para la línea de la leyenda.Luego, utiliza la biblioteca
chartjs-plugin-legend-symbol
para personalizar el elemento de la leyenda y mostrar una línea. Agrega la biblioteca a tu archivo HTML utilizando el siguiente enlace CDN:Luego, agrega el complemento
chartjs-plugin-legend-symbol
a las opciones del gráfico agregando un nuevo objetoplugins
al objeto de configuración con las siguientes propiedades:Esto establecerá la posición de la leyenda en la parte inferior del gráfico, usará el estilo de punto para la etiqueta de la leyenda y generará un elemento de leyenda personalizado con un estilo de extremo de línea ‘butt’, una línea punteada con un patrón de 5px encendido/apagado y un ancho de línea de 2px. El complemento
legendSymbol
está configurado para usar un tipo de línea como símbolo de la leyenda y no usar el estilo de punto para la etiqueta de la leyenda.Aquí tienes cómo se vería el código modificado:
Ten en cuenta que hemos agregado un elemento
span
con el estilo de la línea de la leyenda justo después del elementocanvas
y hemos modificado la propiedaddisplay
de la leyenda predeterminada para que seafalse
.El resultado será un gráfico de línea con un elemento de leyenda personalizado que muestra una línea en lugar de una barra.
Aquí tienes el JS Bin modificado: https://jsbin.com/pipewufoca/edit?html,js,output