Ketika kita membuat sebuah laporan maka satu hal yang harus di buat adalah char. Sudah library PHP yang ada dan dapat digunakan untuk membuat chart tersebut. PHP libchart adalah salah satu library untuk membuat sebuah chart pada PHP berbasis GD. Untuk menggabungkannya saya buat sebuah pluggin chart sebagai factory dari lib chart tersebut.
adapun langkah-langkah yang dilakukan adalah
Langkah 1 : Download PHP libchart
Langkah 2 : Extract PHP libchart
extract libchart pada direktori system/application/pluggin/
Langkah 3 : Buat file chart_pi.php
buat file chart_pi.php yang berisi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| <?
if (!defined('BASEPATH'))
exit('No direct script access allowed');
require_once("libchart/classes/libchart.php");
/**
* @author Ibnu Daqiqil Id
* @param string $title Judul Chart
* @param array $data Data array dengan dua dimensi (key,value)
* @param integer $x Lebar chart
* @param integer $y Tinggi Chart
* @param string $type tipe output chart (bar_vertikal,bar_horizontal,pie)
* @param boolean $render Apakah di render ke file?
*/
function create_bar_chart($title,$data,$x=500,$y=300,$type="bar_vertikal",$render_file=FALSE)
{
if ("bar_horizontal"==$type)
$chart = new HorizontalBarChart($x,$y);
else if ("bar_vertikal"==$type)
$chart = new VerticalBarChart($x,$y);
else
$chart = new PieChart($x,$y);
$dataSet = new XYDataSet();
foreach ($data as $value)
{
$dataSet->addPoint(new Point($value['key'], $value['value']));
}
$chart->setDataSet($dataSet);
$chart->setTitle($title);
if (!$render_file)
return $chart->render();
else
return $chart->render($render_file);
}
?> |
Cara penggunaannya adalah
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| class chart_demo extends Controller {
function chart_demo(){
parent::Controller();
}
function index()
{
echo "<img src='index.php/chart_demo/generate_chart_manual'><br />" ;
echo "<img src='index.php/chart_demo/generate_chart_database'>" ;
}
function generate_chart_manual()
{
$data[0]["key"]="key 1";
$data[0]["value"]="17";
$data[1]["key"]="key 2";
$data[1]["value"]="26";
$data[2]["key"]="key 4";
$data[2]["value"]="37";
$data[3]["key"]="key 4";
$data[3]["value"]="7";
echo create_bar_chart("Alasan Pekerjaan",$data,450,250);
}
function generate_chart_database()
{
$this->load->plugin('chart');
$this->load->database();
$this->db->select (" job_description as key, count(job_description) as value");
$this->db->group_by('job_description');
$query=$this->db->get('jobreasongraph');
echo create_bar_chart("Alasan Pekerjaan",$query->result_array(),450,250);
}
} |
0 comments:
Posting Komentar