display values in graphs

master
vitalif 2010-11-06 21:23:02 +00:00
parent 38c4d7b7a7
commit 4527ed6593
2 changed files with 16 additions and 13 deletions

View File

@ -347,7 +347,7 @@ class OLAP
{
if (array_key_exists($k, $data))
{
$v = floatval($data[$k]);
$v = $ov = floatval($data[$k]);
if (self::$graph_logarithmic)
{
if ($v >= 1)
@ -355,7 +355,8 @@ class OLAP
elseif ($v <= -1)
$v = -1-log(-$v);
}
$gr['data'][] = array(self::field_format($my['field'], '', '', $k), $v);
$ov = str_replace('.00', '', sprintf("%.2f", $ov));
$gr['data'][] = array(self::field_format($my['field'], '', '', $k), $ov, $v, 0);
if ($gr['max'] === NULL || $gr['max'] < $v)
$gr['max'] = $v;
if ($gr['min'] === NULL || $gr['min'] > $v)
@ -372,21 +373,23 @@ class OLAP
{
foreach ($gr['data'] as &$d)
{
if ($d[1] >= 0)
if ($d[2] >= 0)
{
$d[1] = intval($d[1]/$gr['max']*self::$graph_scale/2);
$d[2] = 0;
$d[2] = intval($d[2]/$gr['max']*self::$graph_scale/2);
$d[3] = 0;
}
else
{
$d[2] = intval($d[1]/$gr['min']*self::$graph_scale/2);
$d[1] = 0;
$d[3] = intval($d[2]/$gr['min']*self::$graph_scale/2);
$d[2] = 0;
}
}
}
else
{
foreach ($gr['data'] as &$d)
$d[1] = intval(($d[1]-$gr['min'])/($gr['max']-$gr['min'])*self::$graph_scale);
$d[2] = intval($d[2]/$gr['max']*self::$graph_scale);
}
}
$graphs[] = $gr;
}

View File

@ -112,18 +112,18 @@
<!-- END -->
<table>
<!-- IF graph.bi_sign -->
<tr><th colspan="3">- {graph.field}<!-- IF graph.func --> ({lc graph.func})<!-- END --> +</th></tr>
<tr><th colspan="4">- {graph.field}<!-- IF graph.func --> ({lc graph.func})<!-- END --> +</th></tr>
<!-- FOR g = graph.data -->
<tr>
<td><div style="float: right; background: red; height: 7px; width: {g.2}px"></div></td>
<td>{s g.0}</td>
<td><div style="background: blue; height: 7px; width: {g.1}px"></div></td>
<td><div style="float: right; background: red; height: 7px; width: {g.3}px"></div></td>
<td>{s g.0}:&nbsp;</td><td>{s g.1}</td>
<td><div style="background: blue; height: 7px; width: {g.2}px"></div></td>
</tr>
<!-- END -->
<!-- ELSE -->
<tr><th style="text-align: left" colspan="2">{graph.field}<!-- IF graph.func --> ({lc graph.func})<!-- END --></th></tr>
<!-- FOR g = graph.data -->
<tr><td>{s g.0}</td><td><div style="background: blue; height: 7px; width: {g.1}px"></div></td></tr>
<tr><td>{s g.0}:&nbsp;</td><td>{s g.1}</td><td><div style="background: blue; height: 7px; width: {g.2}px"></div></td></tr>
<!-- END -->
<!-- END -->
</table>