score:0

you need to provide your own legend label configuration by defining legend.labels.generatelabels inside chart options.

in the following code sample, generatelabels creates an array of objects that implement the legend item interface. each object simply takes its properties from the corresponding dataset but leaves linedash undefined.

new chart(document.getelementbyid('mychartaxis'), {
  type: 'line',
  data: {
    labels: ['a', 'b', 'c', 'd'],
    datasets: [
      {
        label: 'warnings',
          data: [0, 2, 3, 2],
          borderdash: [5],
          bordercolor: 'rgb(255, 159, 64)',
          backgroundcolor: 'rgba(255, 159, 64, 0.2)',
          fill: false
      },
      {
        label: 'errors',
          data: [1, 1, 4, 3],
          borderdash: [2],
          bordercolor: 'rgb(255, 99, 132)',
          backgroundcolor: 'rgba(255, 99, 132, 0.2)',
          fill: false
      }
    ]
  },
  options: {
    legend: {
      labels: {
        generatelabels: chart => chart.data.datasets.map((dataset, i) => ({
          datasetindex: i,
          text: dataset.label,
          fillstyle: dataset.backgroundcolor,
          strokestyle: dataset.bordercolor
        }))        
      }
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/chart.js/2.9.3/chart.js"></script>
<canvas id="mychartaxis" height="90"></canvas>


Related Query

More Query from same tag