Как изменить цвет легенды в чартах и добавить еще одну легенду?

1

Я хочу изменить цвет легенды, потому что я хочу, чтобы разные цвета отображали разные ситуации. Но теперь легенда использует только первый цвет, который я установил на гистограмме.

Я также хочу спросить, можно ли установить еще одну легенду? Как розовый для ситуации, синий для B?

Here is the link:

Код здесь Может кто-нибудь помочь? Большое вам спасибо.

Теги:
chart.js

1 ответ

4
Лучший ответ

Чтобы установить больше легенд, вам нужно добавить несколько наборов данных. Каждый набор данных будет представлять одну легенду, а цвет легенды будет автоматически установлен в соответствии с цветом фона набора данных.

Chart.plugins.register({
   beforeDraw: function(c) {
      var legends = c.legend.legendItems;
      legends.forEach(function(e) {
         e.fillStyle = '#07C';
      });
   }
});

var canvas = document.getElementById('myChart');

var data = {
   labels: ["January", "February", "March", "April", "May", "June"],
   datasets: [{
      label: "My First dataset",
      backgroundColor: "rgba(255,99,132,0.4)",
      hoverBorderColor: "rgba(255,99,132,1)",
      data: [65, 59, 20, 81, 56, 55],
   }, {
      label: "My Second dataset",
      backgroundColor: "rgba(25,25,255,0.4)",
      hoverBorderColor: "rgba(255,99,132,1)",
      data: [65, 59, 20, 81, 56, 55],
   }]
};

var option = {
   scales: {
      xAxes: [{
         stacked: true
      }],
      yAxes: [{
         stacked: true,
         gridLines: {
            display: true,
            color: "rgba(255,99,132,0.2)"
         }
      }]
   }
};

var myBarChart = Chart.Bar(canvas, {
   data: data,
   options: option
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="myChart" width="400" height="200"></canvas>
  • 0
    Спасибо за ваш ответ! Но может ли он изменить цвет легенды только функцией? Спасибо за ваше время.
  • 0
    Да, это возможно. Вам нужно создать плагин диаграммы для этого. Проверьте обновленный ответ.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню