На самом деле я впервые использую canvajs, но он действительно работает 🙁 Может кто-нибудь проверить мой код?
data.php
<?php
header('Content-Type: application/json');
include './traitement.php';
$data =array();
$data=getListTemp();
$point=array();
$data_points=array();
foreach($data as $value){ foreach($value as $l){
$s= explode( 'T', $l->date) ;
$t=explode('-',$s[0]);
$f=explode(':',$s[1]);
$io=explode('+',$f[2]);
$o=mktime($f[0],$f[1],$io[1],$t[1],$t[2],$t[0]);
$i= date ("D M Y H:i:s U", $o);
$point = array("x" => $i, "y" => $l->valeur);
array_push($data_points, $point);
}}
echo json_encode($data_points, JSON_NUMERIC_CHECK);
?>
с результатом:
[{«x»: «Суб июль 2017 23:20:01», «y»: 30}, {«x»: «Суб июль 2017 23:10:01», «y»: 30}, {«x «:» Суб июль 2017 23:00:01 «,» y «: 30}, {» x «:» Суб июль 2017 22:50:01 «,» y «: 25}, {» x «:» Сб Июл 2017 22:40:01 «,» y «: 30}, {» x «:» Суб июль 2017 22:30:01 «,» y «: 25}, {» x «:» Суб июль 2017 22: 20:01 «,» y «: 30}, {» x «:» суббота, июль 2017 22:10:01 «,» y «: 40}, {» x «:» суббота, июль 2017 22:00:01 » , «у»: 23}]curve.html
<!DOCTYPE html>
<html><head>
<title></title>
<script src="canvasjs.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-latest.js" > </script>
<script type="text/javascript">
$(document).ready(function () {
$.getJSON("data.php", function (result) {
var dps=[];
dps = result;
var chart = new CanvasJS.Chart("chartContainer",{
title :{
text: "Data "},
axisX: {
title: "time",
},
axisY: {
title: "temperature",
},
data: [{
type:"spline",
dataPoints : dps
}]
});
chart.render();});
});
</script>
</head>
<body>
<div id="chartContainer" style="width: 800px; height: 380px;"></div>
</body>
</html>
И вот что я имею в результате !! введите описание изображения здесь
Заменить х с меткой. Согласно документации и тому, что я пробовал, x должно быть числом, только тогда оно будет работать, а в вашем случае это строка «Sat jul ..», поэтому пометьте x как метку
(ниже — копия моего комментария выше)
Вместо ‘x’ используйте ‘label’ в ответе, я прочитал документацию и попробовал этот jsfiddle.net/p7w58naq с вашим ответом
Других решений пока нет …