152 votes

Chart.js v2 : masquer les étiquettes des ensembles de données

J'ai les codes suivants pour créer un graphique en utilisant Chart.js v2.1.3 :

var ctx = $('#gold_chart');
var goldChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: dates,
        datasets: [{
            label: 'I want to remove this Label',
            data: prices,
            pointRadius: 0,
            borderWidth: 1
        }]
    }
});

Les codes semblent simples, mais je ne peux pas supprimer l'étiquette du graphique. J'ai essayé beaucoup de solutions que j'ai trouvées en ligne, mais la plupart d'entre elles utilisent Chart.js v1.x.

Comment puis-je supprimer les étiquettes des ensembles de données ?

319voto

potatopeelings Points 864

Il suffit de définir le label y tooltip options comme suit

...
options: {
    legend: {
        display: false
    },
    tooltips: {
        callbacks: {
           label: function(tooltipItem) {
                  return tooltipItem.yLabel;
           }
        }
    }
}

Violon - http://jsfiddle.net/g19220r6/

0 votes

Ça marche comme sur des roulettes, merci. au fait, comment changer la couleur du gradient du graphique linéaire ?

1 votes

Vous voulez dire, comment utiliser un dégradé comme borderColor / backgroundColor. Il suffit d'en créer un dans le contexte et de l'utiliser lors de l'initialisation. jsfiddle.net/g9h6gtvx

1 votes

Que faire si je veux l'utiliser sur un ensemble de données mais pas sur l'autre ?

96voto

Muhammad Zakariya Points 1061

À partir de 2021, l'espace de noms est passé de options.legend a options.plugins.legend . Ce code simple a fonctionné pour moi -

data{
...
},
options: {
  plugins: {
    legend: {
      display: false
    }
  }
}

47voto

Rochan Points 348

Ajouter :

Chart.defaults.global.legend.display = false;

au début de votre code script ;

0 votes

C'est simple et cela fonctionne parfaitement. J'ai remarqué que la réponse acceptée cassait certaines choses.

1 votes

Dans React, j'ai fait ceci import { Chart } from "react-chartjs-2"; Chart.defaults.global.legend.display = false;

13voto

Mark Points 49079

Vous pouvez également faire tenir l'info-bulle sur une seule ligne en supprimant le "titre" :

this.chart = new Chart(ctx, {
    type: this.props.horizontal ? 'horizontalBar' : 'bar',
    options: {
        legend: {
            display: false,
        },
        tooltips: {
            callbacks: {
                label: tooltipItem => `${tooltipItem.yLabel}: ${tooltipItem.xLabel}`, 
                title: () => null,
            }
        },
    },
});

enter image description here

12voto

C'est aussi simple que d'ajouter ceci :

legend: {
    display: false,
}

Ou si vous voulez, vous pouvez utiliser cette autre option qui devrait également fonctionner :

Chart.defaults.global.legend.display = false;``

1 votes

Options : { légende : { display : false, }} Il est utile d'écrire dans quel bloc le mettre (c'est en fait le problème de la documentation).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X