【问题标题】:Chart.js not working - Uncaught RefernceError:Chart.js 不工作 - 未捕获的 ReferenceError:
【发布时间】:2018-11-07 15:46:21
【问题描述】:

我正在尝试使用 chart.js 以图表形式显示有关时间序列数据的一些数据。从 psql 获取数据,转换为 json,作为参数发送给 js 函数以渲染图表。

js中数据接收正常,但是html中js函数调用出现'Uncaught ReferenceError'错误。

编辑

它引发了这些错误:

Uncaught RefernceError: dspChrt is not defined @ line
 dspChrt(WData);
    </script>          
        </body>
    </html>

这是我的代码:

JS

<script>
    var Device_Data;
    var rssi, batt;
    var rssiArray = [];
    var battArray = [];
    var N = 12;
    for (i = 0; i < N; i++) {
        rssiArray.push(0);
        battArray.push(0); }

function dspChrt(Device_Data) { 

    console.log(Device_Data[0].rssi);
    console.log(Device_Data[1].battery_voltage_mv);
    rssi = Device_Data[0].rssi;
    batt = Device_Data[1].battery_voltage_mv;
    rssiArray.shift();
    rssiArray.push(rssi);
    battArray.shift();
    battArray.push(batt);

    var ctx = document.getElementById('myChart').getContext('2d');
    var myChart = new Chart(ctx, {
    type: 'line',
    data: {
    labels: [new Date()],
    datasets: [{
    label: 'rssi',
    data: rssiArray, 
    backgroundColor: "rgba(153,255,51,0.4)"
        }, {
    label: 'Battery_Voltage',
    data: battArray,
    backgroundColor: "rgba(255,153,0,0.4)"
    }]
    }
    options: {
    scales: {
        xAxes: [{
            type: 'time',
            time: {
                unit: 'hour',
            }
        }]
    }
}


}); 
}

 //var myVar = setInterval(dspChrt, 60000);
</script>

HTML/PHP

 <?php
    require("Connection.php");
    $stmt = $conn->prepare("Select date_time, battery_voltage_mv FROM measuring_device_statuses LIMIT 24");
    $stmt->execute();

    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
    $WData = $stmt->fetchAll();

    /*
    echo "<pre>".print_r($WData, true)."</pre>"; 
    die();
    */

    ?>

    <script>
      var WData = <?php print_r(json_encode($WData));?>;
      //console.log(WData);
      dspChrt(WData);
    </script>

    </body>
</html>

【问题讨论】:

    标签: javascript php html chart.js psql


    【解决方案1】:

    当我查看您的代码时,我发现 labels 已配置,但是您的时间戳格式永远不会匹配这些标签。因此,显示 0 是有意义的。

    不知道你想要什么。也许像this 这样的东西? 看看他们编写的脚本,你会发现他们没有配置labels

    如果我是你,我可能会使用带有showLines=true 的散点图。

    【讨论】:

    • 非常感谢你!是的,我想要的链接中有类似的东西。我想随着时间的推移出现在标签水平和其他参数中的时间,然后出现在图表中。如果链接的代码可用,将有很大帮助。您能否帮助编辑我的代码,以便有时间出现在链接中的标签中。我基本上有15分钟的间隔。
    • Ctrl+Shift+i 您可以在 中找到该链接的脚本。
    • 我编辑了代码,但它仍然抱怨我放置“选项”的语法。
    猜你喜欢
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多