gpt4 book ai didi

javascript - CanvasJS 实时折线图

转载 作者:行者123 更新时间:2023-12-02 16:09:49 24 4
gpt4 key购买 nike

我目前正忙于为老年患者建立商业智能环境。老年人戴着手环来测量加速度和心率。

心率部分将是一个静态图表(不是实时图表),我已经完成了。整个环境实际上已经完成了。实时加速度折线图除外。

所以我想使用CanvasJS的实时生活图表因为他们提供的似乎是正确的。问题是我对 javascript 很了解。

这是现实生活折线图的代码:

<!DOCTYPE HTML>
<html>

<head>
<script type="text/javascript">
window.onload = function () {

var dps = []; // dataPoints

var chart = new CanvasJS.Chart("chartContainer",{
title :{
text: "Live Random Data"
},
data: [{
type: "line",
dataPoints: dps
}]
});

var xVal = 0;
var yVal = 100;
var updateInterval = 20;
var dataLength = 500; // number of dataPoints visible at any point

var updateChart = function (count) {
count = count || 1;
// count is number of times loop runs to generate random dataPoints.

for (var j = 0; j < count; j++) {
yVal = yVal + Math.round(5 + Math.random() *(-5-5));
dps.push({
x: xVal,
y: yVal
});
xVal++;
};
if (dps.length > dataLength)
{
dps.shift();
}

chart.render();

};

// generates first set of dataPoints
updateChart(dataLength);

// update chart after specified time.
setInterval(function(){updateChart()}, updateInterval);

}
</script>
<script type="text/javascript" src="/assets/script/canvasjs.min.js"></script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width:100%;">
</div>
</body>
</html>

正如您所看到的,它是一个真实的图表,但它的行为是随机(静态)数据的。我的数据库充满了加速度计生成的数据。

我的问题是:如何使该图表使用数据库中的数据而不是随机数据?我正在考虑制作一个填充数据库数据的数组,然后使用该数组的变量作为图表所用数据的来源。但我不知道。

我希望我已经给了你足够的信息。

最佳答案

你可以找到答案here

只是为了让答案保留在这里,以防链接损坏。

以下是如何在 CanvasJS 中显示 MySQL 数据,

  1. 创建一个以 JSON 格式返回数据的 PHP 服务。
  2. 向服务器发出 AJAX 请求并获取数据的 HTML 页面。获取数据后,它会渲染一个图表。

示例:

<强>1。 PHP 服务返回 JSON 数据

    <?php
header('Content-Type: application/json');
$con = mysqli_connect("127.0.0.1","user","password","canvasjssampledb");

// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to DataBase: " . mysqli_connect_error();
}
else
{
$data_points = array();

$result = mysqli_query($con, "SELECT * FROM sales");

while($row = mysqli_fetch_array($result))
{
$point = array("label" => $row['product'] , "y" => $row['total_sales']);

array_push($data_points, $point);
}

echo json_encode($data_points, JSON_NUMERIC_CHECK);
}
mysqli_close($con);

?>

<强>2。用于获取数据并呈现图表的 HTML 页面

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script src="jquery.js"></script>
<script src="canvasjs.js"></script>

<script type="text/javascript">
$(document).ready(function () {

$.getJSON("data.php", function (result) {

var chart = new CanvasJS.Chart("chartContainer", {
data: [
{
dataPoints: result
}
]
});

chart.render();
});
});
</script>
</head>
<body>

<div id="chartContainer" style="width: 800px; height: 380px;"></div>

</body>
</html>

关于javascript - CanvasJS 实时折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com