В мультипарковом графике Chart.js есть способ выделить одну категорию? - PullRequest
0 голосов
/ 11 декабря 2018

enter image description here

У меня есть график, как указано выше.Я хочу только одну категорию с зеленой рамкой.Например, только ось X 2235 с рамкой зеленого цвета.Или каким-то другим способом выделить только 2235 зеленых.

Поскольку я использую многострочный график, я не знаю, как применить borderColor или borderWidth к одной точке в наборе данных.Есть идеи?Спасибо!

1 Ответ

0 голосов
/ 12 декабря 2018

Надеюсь, что мой фрагмент поможет вам.

Короче говоря: я понятия не имею, как достичь аналогичного результата, используя только конфигурацию, но манипулирование вашим графиком после инициализации действительно волшебно.

Не забывайте о chart.update() при динамическом изменении чего-либо на графике.

Приветствия!

<!DOCTYPE html>
<html>

<head>
  <title>Page Title</title>
</head>

<body>
  <canvas id="myChart" width="400" height="400"></canvas>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.min.js"></script>
  <script>
    const context = document.getElementById("myChart").getContext('2d');
    const chart = new Chart(context, {
      type: 'bar',
      data: {
        labels: ["First", "Second", "Third"],
        datasets: [{
            label: "Red",
            backgroundColor: "red",
            borderColor: [],
            borderWidth: 4,
            data: [4, 3, 5]
          },
          {
            label: "Green",
            backgroundColor: "green",
            borderColor: [],
            borderWidth: 4,
            data: [7, 2, 6]
          },
          {
            label: "Blue",
            backgroundColor: "blue",
            borderColor: [],
            borderWidth: 4,
            data: [3, 7, 4]
          },

        ]
      },
      options: {
        scales: {
          yAxes: [{
            ticks: {
              beginAtZero: true
            }
          }]
        }
      }
    });

    const color = "yellow";
    const indexOfBordered = 1;
    chart.data.datasets.forEach(dataset => {
      dataset.borderColor[indexOfBordered] = color;
    });
    chart.update();
  </script>

</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...