Popravek decimalk pri grafih pri numericnih tipih vprasanj
This commit is contained in:
parent
03b5a7c65a
commit
e90d4ee37b
@ -4333,6 +4333,8 @@ class SurveyChart {
|
|||||||
elseif($spremenljivka['tip'] == 7 || $spremenljivka['tip'] == 22){
|
elseif($spremenljivka['tip'] == 7 || $spremenljivka['tip'] == 22){
|
||||||
$dataArray = array();
|
$dataArray = array();
|
||||||
|
|
||||||
|
$has_decimal = false;
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
$N=0;
|
$N=0;
|
||||||
if (count($spremenljivka['grids']) > 0)
|
if (count($spremenljivka['grids']) > 0)
|
||||||
@ -4377,6 +4379,9 @@ class SurveyChart {
|
|||||||
|
|
||||||
$tempArray['key'] = $vkey;
|
$tempArray['key'] = $vkey;
|
||||||
|
|
||||||
|
if(floor($vkey) != $vkey)
|
||||||
|
$has_decimal = true;
|
||||||
|
|
||||||
// racunamo povprecje (za prvo variablo)
|
// racunamo povprecje (za prvo variablo)
|
||||||
if($field == 0){
|
if($field == 0){
|
||||||
|
|
||||||
@ -4488,8 +4493,8 @@ class SurveyChart {
|
|||||||
array_multisort($tmp, SORT_NUMERIC, SORT_ASC, $dataArray);
|
array_multisort($tmp, SORT_NUMERIC, SORT_ASC, $dataArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
$max = (int)$dataArray[count($dataArray,0)-1]['variable'];
|
$max = (double)$dataArray[count($dataArray,0)-1]['variable'];
|
||||||
$min = (int)$dataArray[0]['variable'];
|
$min = (double)$dataArray[0]['variable'];
|
||||||
$stIntervalov = ((int)$settings['interval'] == 0 ? 10 : (int)$settings['interval']);
|
$stIntervalov = ((int)$settings['interval'] == 0 ? 10 : (int)$settings['interval']);
|
||||||
|
|
||||||
|
|
||||||
@ -4504,14 +4509,16 @@ class SurveyChart {
|
|||||||
else{
|
else{
|
||||||
// Nastavimo custom zgornjo mejo skale (razen v primeru ko ne ignoriramo vrednosti ki padejo ven in ce je max vnos vecji od nastavljenega max)
|
// Nastavimo custom zgornjo mejo skale (razen v primeru ko ne ignoriramo vrednosti ki padejo ven in ce je max vnos vecji od nastavljenega max)
|
||||||
if($settings['max'] != '' /*&& ($settings['open_up'] == 0 || (int)$settings['max'] > $max)*/)
|
if($settings['max'] != '' /*&& ($settings['open_up'] == 0 || (int)$settings['max'] > $max)*/)
|
||||||
$max = (int)$settings['max'];
|
$max = (double)$settings['max'];
|
||||||
// Nastavimo custom spodnjo mejo skale (razen v primeru ko ne ignoriramo vrednosti ki padejo ven in ce je min vnos manjsi od nastavljenega min)
|
// Nastavimo custom spodnjo mejo skale (razen v primeru ko ne ignoriramo vrednosti ki padejo ven in ce je min vnos manjsi od nastavljenega min)
|
||||||
if($settings['min'] != '' /*&& ($settings['open_down'] == 0 || (int)$settings['min'] < $min)*/)
|
if($settings['min'] != '' /*&& ($settings['open_down'] == 0 || (int)$settings['min'] < $min)*/)
|
||||||
$min = (int)$settings['min'];
|
$min = (double)$settings['min'];
|
||||||
|
|
||||||
|
|
||||||
$stIntervalov = ($stIntervalov == -1 ? $max-$min : $stIntervalov);
|
$stIntervalov = ($stIntervalov == -1 ? $max-$min : $stIntervalov);
|
||||||
$part = ($max-$min) / $stIntervalov;
|
$part = ($max-$min) / $stIntervalov;
|
||||||
|
|
||||||
|
if(!$has_decimal)
|
||||||
$part = ($part < 1) ? 1 : round($part);
|
$part = ($part < 1) ? 1 : round($part);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4556,9 +4563,16 @@ class SurveyChart {
|
|||||||
$minVal = $limits['interval_'.$interval]['min'];
|
$minVal = $limits['interval_'.$interval]['min'];
|
||||||
}
|
}
|
||||||
// Ce imamo osnovne intervale (racunamo sproti)
|
// Ce imamo osnovne intervale (racunamo sproti)
|
||||||
|
else{
|
||||||
|
// Ce imamo decimalke
|
||||||
|
if($has_decimal){
|
||||||
|
$maxVal = ($interval < ($stIntervalov-1) ? $min-0.01 + (($interval+1) * $part) : $max);
|
||||||
|
$minVal = ($interval > 0 ? $min + ($interval * $part) : $min);
|
||||||
|
}
|
||||||
else{
|
else{
|
||||||
$maxVal = ($interval < ($stIntervalov-1) ? $min + (($interval+1) * $part) : $max);
|
$maxVal = ($interval < ($stIntervalov-1) ? $min + (($interval+1) * $part) : $max);
|
||||||
$minVal = ($interval > 0 ? $min + ($interval * $part) + 1 : $min);
|
$minVal = ($interval > 0 ? $min + ($interval * $part) + 1 : $min);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// prekinemo ce zaradi zaokrozevanja pride do min > max
|
// prekinemo ce zaradi zaokrozevanja pride do min > max
|
||||||
@ -4661,8 +4675,15 @@ class SurveyChart {
|
|||||||
}
|
}
|
||||||
// Ce imamo osnovne intervale (racunamo sproti)
|
// Ce imamo osnovne intervale (racunamo sproti)
|
||||||
else{
|
else{
|
||||||
|
// Ce imamo decimalke
|
||||||
|
if($has_decimal){
|
||||||
|
$maxVal = ($interval < ($stIntervalov-1) ? $min-0.01 + (($interval+1) * $part) : $max);
|
||||||
|
$minVal = ($interval > 0 ? $min + ($interval * $part) : $min);
|
||||||
|
}
|
||||||
|
else{
|
||||||
$maxVal = ($interval < ($stIntervalov-1) ? $min + (($interval+1) * $part) : $max);
|
$maxVal = ($interval < ($stIntervalov-1) ? $min + (($interval+1) * $part) : $max);
|
||||||
$minVal = ($interval > 0 ? $min + ($interval * $part) + 1 : $min);
|
$minVal = ($interval > 0 ? $min + ($interval * $part) + 1 : $min);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// prekinemo ce zaradi zaokrozevanja pride do min > max
|
// prekinemo ce zaradi zaokrozevanja pride do min > max
|
||||||
|
Loading…
x
Reference in New Issue
Block a user