Код: Выделить всё
<img src="/pChart/?p=GRU2-1.I1&type=1h&unit=А">
Модератор: immortal
Код: Выделить всё
<img src="/pChart/?p=GRU2-1.I1&type=1h&unit=А">
Код: Выделить всё
2013-10-03 09:04:25: 79.5
2013-10-03 09:03:05: 75.4
2013-10-03 09:01:45: 78.9
2013-10-03 09:00:24: 68.3
2013-10-03 08:59:04: 58.3
2013-10-03 08:57:44: 83.4
2013-10-03 08:56:24: 78.7
2013-10-03 08:55:03: 84.3
2013-10-03 08:53:43: 87.3
2013-10-03 08:52:23: 79.5
2013-10-03 08:51:02: 77.7
2013-10-03 08:49:42: 77.8
2013-10-03 08:48:21: 88.7
2013-10-03 08:47:01: 67.4
2013-10-03 08:45:41: 60.2
2013-10-03 08:44:20: 84.5
2013-10-03 08:43:00: 83.2
2013-10-03 08:41:40: 59.9
2013-10-03 08:40:27: 59.5
2013-10-03 08:39:07: 56.5
2013-10-03 08:37:47: 56.6
2013-10-03 08:36:27: 82
2013-10-03 08:35:06: 66
2013-10-03 08:33:46: 56.5
2013-10-03 08:32:25: 53.7
2013-10-03 08:31:05: 57.1
2013-10-03 08:29:45: 61.2
2013-10-03 08:28:25: 24.4
2013-10-03 08:27:05: 25.2
2013-10-03 08:25:45: 13.5
2013-10-03 08:24:26: 10.6
2013-10-03 08:23:08: 10.3
2013-10-03 08:21:50: 10.3
2013-10-03 08:20:32: 10.3
2013-10-03 08:19:14: 11.4
2013-10-03 08:17:56: 8.8
2013-10-03 08:16:38: 8.8
2013-10-03 08:15:20: 8.5
2013-10-03 08:14:02: 8.8
2013-10-03 08:12:44: 8.3
2013-10-03 08:11:25: 8.5
2013-10-03 08:10:07: 8.8
2013-10-03 08:08:49: 9.5
2013-10-03 08:07:31: 9.5
2013-10-03 08:06:12: 9.7
Очень похоже на правду.ksgroup писал(а):Короче на графике данные поступившие после "провала" отображаются уже со сдвигом.
Я для себя разобрался примерно так:sergejey писал(а):Спасибо за информацию про "провал" -- думаю, что в этом дело. Разберёмся )
Код: Выделить всё
while($start_time<$end_time) {
$value = 0;
$ind=0;
for($i=0;$i<$total_values;$i++) {
if ($history[$i]['UNX']>=$start_time && $history[$i]['UNX']<=$start_time+$period) {
$value += ($history[$i]['VALUE']*1);
$ind++;
}
if ($ind == 0){
$value = $old_value;
}else{
$value = round($value / $ind,2);
$old_value = $value;
}
$values[]=$value;
$start_time+=$period;
$px+=$px_per_point;
$px_passed+=$px_per_point;
if ($px_passed>30) {
if (date('Y-m-d', $start_time)!=$dt) {
$hours[]=date('d/m', $start_time);
$dt=date('Y-m-d', $start_time);
} else {
$hours[]=date('H:i', $start_time);
}
$px_passed=0;
} else {
$hours[]='';
}
}
Код: Выделить всё
while($start_time<$end_time) {
if ($next_index<$total_values) {
for($i=$next_index;$i<$total_values;$i++) {
$next_index=$i+1;
if ($history[$i]['UNX']>=$start_time) {
if ($approx=='sum') {
$value=array_sum($temp_array);
} elseif ($approx=='max') {
$value=max($temp_array);
} else {
$value=round(array_sum($temp_array)/count($temp_array), 2);
}
$temp_array=array($history[$i]['VALUE']);
break;
} else {
$temp_array[]=$history[$i]['VALUE'];
}
}
} else {
// last known value
$value=$history[$total_values-1]['VALUE'];
}
$values[]=$value;
if ($px_passed>30) {
if (date('Y-m-d', $start_time)!=$dt) {
$hours[]=date('d/m', $start_time);
$dt=date('Y-m-d', $start_time);
} else {
$hours[]=date('H:i', $start_time);
}
$px_passed=0;
} else {
$hours[]='';
}
$start_time+=$period;
$px+=$px_per_point;
$px_passed+=$px_per_point;
}