<?php
/*
* phpMyVisites : website statistics and audience measurements
* Copyright (C) 2002 - 2006
* http://www.phpmyvisites.net/
* phpMyVisites is free software (license GNU/GPL)
* Authors : phpMyVisites team
*/
// $Id: GraphSplitBar.class.php 29 2006-08-18 07:35:21Z matthieu_ $
require_once INCLUDE_PATH . "/libs/artichow/BarPlot.class.php";
require_once INCLUDE_PATH . "/core/include/graphs/PmvGraph.class.php";
class GraphSplitBar extends PmvGraph
{
function GraphSplitBar( $width = 600, $height = 250, $showLabelBar2 = true)
{
parent::PmvGraph($width, $height);
$this->showLabelBar2 = $showLabelBar2;
}
function setData( $a_data )
{
$this->x = $a_data['axis'];
$this->y1 = $a_data['data1']['data'];
$this->y1Legend = $a_data['data1']['legend'];
if(isset($a_data['data2']['data']))
{
$this->y2 = $a_data['data2']['data'];
$this->y2Legend = $a_data['data2']['legend'];
}
$this->title = $a_data['title'];
}
function process()
{
parent::process();
$this->setPmvTitle( $this->graph );
$this->setPmvBackgroundGradient( $this->graph );
/**
* group (bar + line)
*/
$group = new PlotGroup();
$this->setPmvGroupProperties( $group );
$group->axis->bottom->setLabelText($this->x);
// Add a bar plot
$plot = new BarPlot($this->y1, 1);
$this->setPmvBarShadowProperties( $plot );
$this->setPmvLabelProperties( $plot, $this->y1 );
$this->setPmvBarGradient( $plot );
$this->setPmvBarSize( $plot );
if(!$this->showLabelBar2 && strlen($this->y1[0]) > 2)
{
$plot->label->setInterval(2);
}
$group->legend->add($plot, $this->y1Legend, LEGEND_BACKGROUND);
$group->add($plot);
if(isset($this->y2))
{
// Add a second bar plot
$plot = new BarPlot($this->y2, 1);
if($this->showLabelBar2)
{
$this->setPmvLabelProperties( $plot, $this->y2 );
$plot->label->move(-5, 4);
$plot->move(-5, 0);
}
else
{
$plot->move(-2, 0);
}
$this->setPmvBackgroundGradient( $plot );
$this->setPmvBarBorderProperties( $plot );
$plot->setBarGradient(
new LinearGradient(
new Color(126, 126, 176),
new Color(158, 158, 222),
0
)
);
$this->setPmvBarSize( $plot );
$group->legend->add($plot, $this->y2Legend, LEGEND_BACKGROUND);
$group->add($plot);
}
$group->legend->setTextFont($this->font9);
$this->graph->add($group);
$this->graph->draw();
}
function display()
{
$this->draw();
}
}
?>