我需要用相同的数据集(从数据库中)做4个面积图。在表格中,日期数据的格式如下:“ 2018-08-15 20:40:00”,而Y数据是另一列中的数字值。我想出了如何使用数据创建数组,并将其通过json传递给脚本的方法,但是我找不到通过图表获取数据的方法。
$sql = 'SELECT timestamp, valor
FROM historial
WHERE YEAR(timestamp) = YEAR(CURDATE())';
// echo $sql."<br><br>";
$resYear = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$arrYear = array();
while($datos = mysqli_fetch_array($resYear, MYSQLI_NUM)){
$arrYear[] = array("x" => new strtotime($datos[0]), "y" => $datos[1]);
}
<script>
$(function () {
var chart = new CanvasJS.Chart("year-chart", {
theme: "light2", // "light1", "light2", "dark1", "dark2"
animationEnabled: true,
zoomEnabled: true,
title: {
text: "Registros del año"
},
data: [{
type: "area",
xValueType: "dateTime",
dataPoints: <?php echo json_encode($arrYear, JSON_NUMERIC_CHECK) ?>
}]
});
chart.render();
});
</script>
解决了这一问题后,我不得不将这些数据放在一张图表中,该图表可以逐年显示时间。以月为单位,以周为单位,以第三天为基础,以天为单位(例如小时和分钟之间)。我也不知道该怎么做。