Chart.jsで特定の凡例を非表示にする方法。

トレンドラインなどを引いたけど凡例は必要ない時などに使えます。

特定の凡例を非表示にしたい

chartjs特定の凡例を消す

普通にトレンドラインなどを引ければよいのですが、Chart.jsにはその機能はないみたいです。

同じ値を持つdatasetで直線を引いてトレンドラインを表示しても、凡例が邪魔なときがあります。

今回はトレンドライン(trend)の凡例だけを非表示(消す)にします。

filterで制御する

options: {
  legend: {
    labels:{
      filter: function(items) {
        return items.text != 'trend';
        // return items.datasetIndex != 2;
      }
    }
  }
}

optionsのlabelsでfilterオプションを使い、trendというlabelを非表示にしています。

表示する線の数が決まっていればdatasetIndexのindex番号で指定することもできます。

chartjs特定の凡例を消す

これでトレンドラインの凡例を消すことができました。