score:8

Accepted answer

i worked out how to do this by adding the following to chart options - [assuming your confidence interval are named xxx_lo, xxx, xxx_hi and appear in chartdata in that order]

jsfiddle example - https://jsfiddle.net/5fktnv6a/

labels: {
  filter: function(item, chart) {
    return !item.text.includes('_');
  }
},
onclick: function(e, legenditem) { // need to hide index -1 and index +1
  let index = legenditem.datasetindex;
  let ci = this.chart;
  let alreadyhidden = (ci.getdatasetmeta(index).hidden === null) ? false : ci.getdatasetmeta(index).hidden;
  let meta_lo = ci.getdatasetmeta(index - 1);
  let meta = ci.getdatasetmeta(index);
  let meta_hi = ci.getdatasetmeta(index + 1);
  if (!alreadyhidden) {
    meta_lo.hidden = true;
    meta.hidden = true;
    meta_hi.hidden = true;
  } else {
    meta_lo.hidden = null;
    meta.hidden = null;
    meta_hi.hidden = null;            
  }

  ci.update();
},

Related Query

More Query from same tag