【问题标题】:Why is chart.js not showing charts?为什么 chart.js 不显示图表?
【发布时间】:2020-11-17 11:54:16
【问题描述】:

我用 django 创建了一个简单的 Web 应用程序。我正在从后端 API 接收数据并使用 chart.js 将它们转换为图表,但我不知道为什么我的图表在放大或缩小之前不显示。 我的 JS: fetchStock()

function fetchStock(){
    labels = []
    price = []
    fetch('http://127.0.0.1:8000/api/stock_list?format=json')
    .then((resp) => resp.json())
    .then((data) => {
        

        console.log(data)

        data.forEach(function(task){
            console.log(task)
            labels.push(task.symbol)
            price.push(task.price)
        })
        console.log(labels)
    })

    var ctx = document.getElementById("myCanvas").getContext('2d');

    var chart = new Chart(ctx,{
    type:'bar',

        data: {
        labels: labels,
        datasets: [{
            label: 'My First dataset',
            backgroundColor: 'rgb(255, 99, 132)',
            borderColor: 'rgb(255, 99, 132)',
            data: price,
        }]
    },
})
}

JSON: http://127.0.0.1:8000/api/stock_list?format=json

[{"id":1,"symbol":"AKPL","price":117},{"id":2,"symbol":"CBBL","price":120},{"id":3,"symbol":"LGIL","price":293}]

【问题讨论】:

  • 你是如何触发fetchStock()运行的?
  • 它在脚本顶部自动运行

标签: javascript python django chart.js


【解决方案1】:

根据您的问题,您可以看到图表但需要放大或缩小权尝试将父 div 添加到画布它应该可以工作

<div class="chart_wrapper">
    <canvas width="600" height="250"></canvas>
</div>

【讨论】:

  • 它没有用。此外,当控制台选项卡打开时,图表很容易加载,但是当我刷新图表时,只看到背景(空)。没有任何东西被标记或绘制。然后我必须放大或缩小或按 f12 来绘制图表。
  • "Try..." -- 不是答案,是调试注释
猜你喜欢
  • 2017-08-10
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 2023-01-17
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
相关资源
最近更新 更多