Задать вопрос
serg_small_developer
@serg_small_developer
Начинающий прогер

Как построить вертикальную legend в chartjs?

Вчера задавал вопрос, посоветовали делать такое плагином, мне на данный момент нужно сделать так чтобы legend строилась вертикально друг под другом, в нете нахожу только подобные варианты но такое решение не подходит из-за того что при таком построении пропадает возможность выключать диаграмму при клике на legend. Можно ли вообще сделать так чтобы построить legend вертикально и при этом сохранить возможность включать\выключать диаграммы, или такое данная библиотека не может?
  • Вопрос задан
  • 453 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
potapchino
@potapchino
не уверен, но вроде как появление тултипа при ховере на точках оси абцисс нельзя сделать из коробки, только самому

вертикальная легенда с переключением
<div style="width: 600px; height: 300px;">
    <canvas id="myChart" style="width: 100%; height: 100%;"></canvas>
    <div id="legend"></div>
</div>

var data = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [
        {
            label: "My First dataset",
            fill: false,
            backgroundColor: "rgba(75,192,192,0.4)",
            borderColor: "rgba(75,192,192,1)",
            data: [65, 59, 80, 81, 56, 55, 40],
        },
      {
            label: "My Second dataset",
            fill: false,
            backgroundColor: "green",
            borderColor: "green",
            data: [60, 159, 40, 53, 53, 65, 40],
        }
    ]
};

var myChart = new Chart('myChart', {
    type: 'line',
    data: data,
    options: {
        legend: {
          display: false
        },
    }
});

$('#legend').html(myChart.generateLegend())

$("#legend").on('click', "li", function(){
  var i = $(this).index()
  myChart.data.datasets[i].hidden = !myChart.data.datasets[i].hidden;
  myChart.update();
})

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы