不理解为什么chart js无法加载

esyap4oy  于 2022-11-23  发布在  Chart.js
关注(0)|答案(1)|浏览(172)
  • 图表JS 3.9.1
  • 拉瑞威9.x

有5万个问题使用20个不同的版本,没有一个,从我发现是有帮助的。我已经检查了版本,检查了文档,甚至检查了页面源代码,看看数据是否到位。没有错误,没有图表,什么都没有。
在一个刀片文件中我做了:

<div>
    <canvas id="item-listing-data" width="400" height="400"></canvas>
</div>

@push('scripts')
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script>

        const ctx    = document.getElementById('item-listing-data').getContext('2d');

        const saleDataChart = new Chart(ctx, {
            type: 'line',
            labels: @json($saleData['labels']),
            datasets: [{
                label: 'Sale Data',
                data: @json($saleData['data']),
                fill: false,
                borderColor: 'rgb(34, 67, 156)',
                tension: 0.1
            }]
        });
    </script>
@endpush

据我所知,在docs中,这就是你所做的。这就是你如何渲染图表。
如果我检查页面以查看被吐出的JS:

const ctx    = document.getElementById('item-listing-data');

const saleDataChart = new Chart(ctx, {
    type: 'line',
    labels: ["Mon Aug 2022 14:08:13"],
    datasets: [{
        label: 'Sale Data',
        data: [10000],
        fill: false,
        borderColor: 'rgb(34, 67, 156)',
        tension: 0.1
    }]
});

在我看来没错。
当我调查页面时,我看到一个div太大了,画布元素--但我相信这可以通过选项来修复,没有图表。只是一个空画布。
再说一次,我知道这个问题已经被问了一千遍了,但是我:

  • 遵循文档
  • 已检查我的代码中的问题
  • 确保我加载了chart js的正确版本

还是没有图表,没有错误,什么都没有。
即使我将labelsdata替换为[1,2,3]-什么都没有,没有图表,没有错误。
有什么想法?

ldxq2e6h

ldxq2e6h1#

AFA我可以看到,问题似乎出在图表配置中,缺少data节点。没有它,图表就没有数据可显示。
代码应为:

<div>
    <canvas id="item-listing-data" width="400" height="400"></canvas>
</div>

@push('scripts')
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script>

        const ctx    = document.getElementById('item-listing-data').getContext('2d');

        const saleDataChart = new Chart(ctx, {
            type: 'line',
            data: { // <--- this was missing
              labels: @json($saleData['labels']),
              datasets: [{
                  label: 'Sale Data',
                  data: @json($saleData['data']),
                  fill: false,
                  borderColor: 'rgb(34, 67, 156)',
                  tension: 0.1
              }]
            }
          });
    </script>
@endpush

相关问题