• <bdo id='7Mt06'></bdo><ul id='7Mt06'></ul>
    1. <small id='7Mt06'></small><noframes id='7Mt06'>

    2. <legend id='7Mt06'><style id='7Mt06'><dir id='7Mt06'><q id='7Mt06'></q></dir></style></legend>
      <tfoot id='7Mt06'></tfoot>

      1. <i id='7Mt06'><tr id='7Mt06'><dt id='7Mt06'><q id='7Mt06'><span id='7Mt06'><b id='7Mt06'><form id='7Mt06'><ins id='7Mt06'></ins><ul id='7Mt06'></ul><sub id='7Mt06'></sub></form><legend id='7Mt06'></legend><bdo id='7Mt06'><pre id='7Mt06'><center id='7Mt06'></center></pre></bdo></b><th id='7Mt06'></th></span></q></dt></tr></i><div id='7Mt06'><tfoot id='7Mt06'></tfoot><dl id='7Mt06'><fieldset id='7Mt06'></fieldset></dl></div>

        React-Chart.js 图例 onClick 函数

        时间:2023-11-01

          <bdo id='kCCsO'></bdo><ul id='kCCsO'></ul>
          <legend id='kCCsO'><style id='kCCsO'><dir id='kCCsO'><q id='kCCsO'></q></dir></style></legend>
            <tbody id='kCCsO'></tbody>
          • <tfoot id='kCCsO'></tfoot>

            <small id='kCCsO'></small><noframes id='kCCsO'>

            <i id='kCCsO'><tr id='kCCsO'><dt id='kCCsO'><q id='kCCsO'><span id='kCCsO'><b id='kCCsO'><form id='kCCsO'><ins id='kCCsO'></ins><ul id='kCCsO'></ul><sub id='kCCsO'></sub></form><legend id='kCCsO'></legend><bdo id='kCCsO'><pre id='kCCsO'><center id='kCCsO'></center></pre></bdo></b><th id='kCCsO'></th></span></q></dt></tr></i><div id='kCCsO'><tfoot id='kCCsO'></tfoot><dl id='kCCsO'><fieldset id='kCCsO'></fieldset></dl></div>

                  本文介绍了React-Chart.js 图例 onClick 函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在使用 Chart.js 的反应包装器处理具有多个堆叠数据集的条形图(https://github.com/reactchartjs/react-chartjs-2).

                  I'm working on a bar chart with multiple stacked datasets using the react wrapper for Chart.js(https://github.com/reactchartjs/react-chartjs-2).

                  我一直试图让图表一次只显示一个数据集,但我无法找到正确的函数.

                  I've been trying to make the chart show only one dataset at a time, but I'm having trouble coming up with the right function.

                  我希望图表以隐藏的所有数据集开始(这部分很简单),当您单击图例时,我希望图表仅显示选定的数据集.因此,当您单击一个然后另一个时,我希望隐藏第一个.

                  I want the chart to start off with all the datasets hidden(this part was easy) and when you click the legend I want the chart to only show only the selected dataset. So when you click one and then another I want the first one to get hidden.

                  我知道我需要使用图例 onClick 选项,但我不知道如何设置它.

                  I know I need to use the legend onClick option but I can't figure out how to set it up.

                  任何帮助将不胜感激,谢谢!

                  Any help would be appreciated, thanks!

                  这是有问题的图表:https://codesandbox.io/s/lucid-river-xhvtd?file=/src/charts/bar_chart.js

                  推荐答案

                  您可以将所有数据集设置为隐藏,然后仅单击显示:

                  You can set all datasets to hide and then only the one clicked to show:

                  var options = {
                    type: 'line',
                    data: {
                      labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
                      datasets: [{
                          label: '# of Votes',
                          data: [12, 19, 3, 5, 2, 3],
                          borderColor: 'pink',
                          hidden: true
                        },
                        {
                          label: '# of Points',
                          data: [7, 11, 5, 8, 3, 7],
                          borderColor: 'orange',
                          hidden: true
                        },
                        {
                          label: '# of People',
                          data: [3, 1, 15, 4, 9, 12],
                          borderColor: 'cyan',
                          hidden: true
                        }
                      ]
                    },
                    options: {
                      plugins: {
                        legend: {
                          onClick: (evt, legendItem, legend) => {
                            const index = legendItem.datasetIndex;
                            const ci = legend.chart;
                  
                            legend.chart.data.datasets.forEach((d, i) => {
                              ci.hide(i);
                              d.hidden = true;
                            })
                  
                            ci.show(index);
                            legendItem.hidden = false;
                  
                            ci.update();
                          }
                        }
                      }
                    }
                  }
                  
                  var ctx = document.getElementById('chartJSContainer').getContext('2d');
                  new Chart(ctx, options);

                  <body>
                    <canvas id="chartJSContainer" width="600" height="400"></canvas>
                    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script>
                  </body>

                  这篇关于React-Chart.js 图例 onClick 函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Chart.js 图片在甜甜圈段内 下一篇:如何使用charts.js在折线图中绘制单个值?

                  相关文章

                    <bdo id='uUo0e'></bdo><ul id='uUo0e'></ul>
                1. <small id='uUo0e'></small><noframes id='uUo0e'>

                2. <legend id='uUo0e'><style id='uUo0e'><dir id='uUo0e'><q id='uUo0e'></q></dir></style></legend>

                  <tfoot id='uUo0e'></tfoot>
                    1. <i id='uUo0e'><tr id='uUo0e'><dt id='uUo0e'><q id='uUo0e'><span id='uUo0e'><b id='uUo0e'><form id='uUo0e'><ins id='uUo0e'></ins><ul id='uUo0e'></ul><sub id='uUo0e'></sub></form><legend id='uUo0e'></legend><bdo id='uUo0e'><pre id='uUo0e'><center id='uUo0e'></center></pre></bdo></b><th id='uUo0e'></th></span></q></dt></tr></i><div id='uUo0e'><tfoot id='uUo0e'></tfoot><dl id='uUo0e'><fieldset id='uUo0e'></fieldset></dl></div>