Better Graphs #4
This commit is contained in:
parent
fdf94f8b8d
commit
92f8486f91
@ -41,4 +41,54 @@ class Utilities
|
|||||||
$str = substr($str, 0, $pos) . $insertstr . substr($str, $pos);
|
$str = substr($str, 0, $pos) . $insertstr . substr($str, $pos);
|
||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* [generateGraphJson description]
|
||||||
|
* @param string $type [line/bar]
|
||||||
|
* @param array $data [description]
|
||||||
|
* @param array $options [description]
|
||||||
|
* @return [type] [description]
|
||||||
|
*/
|
||||||
|
|
||||||
|
function generateGraphJson(string $type = 'line', array $data = [], array $options = []){
|
||||||
|
$array = [
|
||||||
|
'type' => $type,
|
||||||
|
'data' => [
|
||||||
|
'datasets' => [
|
||||||
|
[
|
||||||
|
'data' => $data
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'options' => [
|
||||||
|
'scales' => [
|
||||||
|
'xAxes' => [
|
||||||
|
[
|
||||||
|
'type' => 'time',
|
||||||
|
'distribution' => 'linear',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'yAxes' => [
|
||||||
|
[
|
||||||
|
'ticks' => [
|
||||||
|
'min' => $options['min'],
|
||||||
|
'max' => $options['max'],
|
||||||
|
'steps' => $options['scale']
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'legend' => [
|
||||||
|
'display' => false
|
||||||
|
],
|
||||||
|
'tooltips' => [
|
||||||
|
'enabled' => true
|
||||||
|
],
|
||||||
|
'hover' => [
|
||||||
|
'mode' => true
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
return json_encode($array, JSON_PRETTY_PRINT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ class Ajax extends Template
|
|||||||
}
|
}
|
||||||
|
|
||||||
$data = json_encode($output);
|
$data = json_encode($output);
|
||||||
|
$data = $output;
|
||||||
$arrayTimeStamps = array_column($records, 'time');
|
$arrayTimeStamps = array_column($records, 'time');
|
||||||
foreach ($arrayTimeStamps as $key => $value) {
|
foreach ($arrayTimeStamps as $key => $value) {
|
||||||
$arrayTimeStamps[$key] = (new DateTime($value))->format(TIMEFORMAT);
|
$arrayTimeStamps[$key] = (new DateTime($value))->format(TIMEFORMAT);
|
||||||
@ -86,40 +86,7 @@ class Ajax extends Template
|
|||||||
|
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
|
|
||||||
$JSON = '
|
echo Utilities::generateGraphJson($range['graph'], $data, $range);
|
||||||
{
|
|
||||||
"type": "' . $graphType . '",
|
|
||||||
"data": {
|
|
||||||
"datasets": [{
|
|
||||||
"data": ' . $data . '
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"scales": {
|
|
||||||
"xAxes": [{
|
|
||||||
"type": "time",
|
|
||||||
"distribution": "linear"
|
|
||||||
}],
|
|
||||||
"yAxes": [{
|
|
||||||
"ticks": {
|
|
||||||
"min": ' . $range['min'] . ',
|
|
||||||
"max": ' . $range['max'] . ',
|
|
||||||
"steps": ' . $range['scale'] . '
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"legend": {
|
|
||||||
"display": false
|
|
||||||
},
|
|
||||||
"tooltips": {
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"hover": {
|
|
||||||
"mode": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}';
|
|
||||||
echo $JSON;
|
|
||||||
die();
|
die();
|
||||||
} else if (isset($_POST['action']) && $_POST['action'] == "getState") {
|
} else if (isset($_POST['action']) && $_POST['action'] == "getState") {
|
||||||
//State Update
|
//State Update
|
||||||
|
Loading…
Reference in New Issue
Block a user