如何在 ChartJS 中包含适配器和插件

问题描述

仅使用 CDN 将 Chart.js 与时间序列数据(需要像 moment.js 这样的适配器)和缩放/平移功能(chartjs-plugin-zoom)一起使用的最新版本 (ES6) 和最小方法是什么?你必须使用 requireimport 吗?

下面的代码将抛出与来自其他适配器和插件的缺失函数相关的错误。

var default_series = [1,2,3,4,5];
var default_time_series = [new Date()];

for (let i = 1; i < 5; i++)
{
    var tempDay = new Date(default_time_series[i - 1]);
        tempDay.setDate(tempDay.getDate() + 1);
      default_time_series.push(new Date(tempDay.valueOf()));
}

const default_chart_dataset = {
        data: [],label: 'Default',borderColor: '#000000',fill: false,hidden: false,spanGaps: false,pointRadius: 0
};

var chart_data = {
    type: 'line',data: {
        labels: [],datasets: []
    },options: {
        title: {
            display: true,text: "A Chart"
        },scales: {
            x: {
                type: "time",time: {
                    // unit: 'day',// tooltipFormat: 'MMM DD',displayFormats: {
                        day: 'MMM DD YY'
                    }
                }
            }
        },plugins: {
            zoom: {
                pan: {
                    enabled: true,mode: 'x'
                },zoom: {
                    wheel: {
                        enabled: true
                 },pinch: {
                        enabled: true
                    },mode: 'x'
                }
            }
        }
    }
};

var main_chart = new Chart(document.getElementById('a-chart').getContext('2d'),chart_data);
main_chart.data.datasets.push({...default_chart_dataset});
main_chart.data.datasets[0].data = [...default_series];
main_chart.data.labels = [...default_time_series];
main_chart.update();
<html lang="en">
  <body>
    <canvas id="a-chart" class="a-graph" width="850" height="350"></canvas>

    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/hammer.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chartjs-plugin-zoom.min.js"></script>
  </body>
</html>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)