-
Notifications
You must be signed in to change notification settings - Fork 0
/
Chart.php
executable file
·150 lines (125 loc) · 3.85 KB
/
Chart.php
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php
/**
* PHP Integration of Open Flash Chart
* Copyright (C) 2008 John Glazebrook <open-flash-chart@teethgrinder.co.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
if (!function_exists('json_encode')) {
require_once('OFC/JSON.php');
}
require_once('OFC/JSON_Format.php');
require_once('OFC/Elements.php');
require_once('OFC/Tooltip.php');
require_once('OFC/Charts/Area.php');
require_once('OFC/Charts/Bar.php');
require_once('OFC/Charts/Line.php');
require_once('OFC/Charts/Pie.php');
require_once('OFC/Charts/Scatter.php');
require_once('OFC/Charts/Area/Hollow.php');
require_once('OFC/Charts/Bar/Filled.php');
require_once('OFC/Charts/Bar/3d.php');
require_once('OFC/Charts/Bar/Glass.php');
require_once('OFC/Charts/Bar/Horizontal.php');
require_once('OFC/Charts/Bar/Sketch.php');
require_once('OFC/Charts/Bar/Stack.php');
require_once('OFC/Charts/Line/Dot.php');
require_once('OFC/Charts/Line/Hollow.php');
class OFC_Chart {
function OFC_Chart() {
$this->set_title('Many data lines');
$this->elements = array();
}
function set_tooltip($tooltip) {
if (is_string($tooltip)) {
$tooltip = new OFC_Tooltip($tooltip);
}
$this->tooltip = $tooltip;
}
function set_title($title) {
if (is_string($title)) {
$title = new OFC_Elements_Title($title);
}
$this->title = $title;
}
function set_x_axis($x_axis) {
$this->x_axis = $x_axis;
}
function set_y_axis($y_axis) {
$this->y_axis = $y_axis;
}
function set_y_axis_right($y_axis) {
$this->y_axis_right = $y_axis;
}
function add_element($element) {
$this->elements[] = $element;
}
function set_x_legend($x_legend) {
if (is_string($x_legend)) {
$x_legend = new OFC_Elements_Legend_X($x_legend);
}
$this->x_legend = $x_legend;
}
function set_y_legend($y_legend) {
$this->_set_y_legend('y_legend', $y_legend);
}
function set_y2_legend($y2_legend) {
$this->_set_y_legend('y2_legend', $y2_legend);
}
function _set_y_legend($name, $y_legend) {
if (is_string($y_legend)) {
$y_legend = new OFC_Elements_Legend_Y($y_legend);
}
$this->$name = $y_legend;
}
function set_bg_colour($colour) {
$this->bg_colour = $colour;
}
function set_bg_image($image) {
$this->bg_image = $image;
}
function set_num_decimals($num_decimals) {
$this->num_decimals = $num_decimals;
}
function set_is_fixed_num_decimals_forced($is_fixed_num_decimals_forced) {
$this->is_fixed_num_decimals_forced = $is_fixed_num_decimals_forced;
}
function set_is_decimal_separator_comma($is_decimal_separator_comma) {
$this->is_decimal_separator_comma = $is_decimal_separator_comma;
}
function set_is_thousand_separator_disabled($is_thousand_separator_disabled) {
$this->is_thousand_separator_disabled = $is_thousand_separator_disabled;
}
function set_radar_axis($radar_axis = true) {
if (is_array($radar_axis)) {
$radar_axis = new OFC_Elements_Axis_Radar($radar_axis);
}
$this->radar_axis = $radar_axis;
}
function toString() {
if (function_exists('json_encode')) {
return json_encode($this);
} else {
$json = new Services_JSON();
return $json->encode($this);
}
}
function toPrettyString() {
return json_format($this->toString());
}
function set_menu($menu) {
$this->menu = $menu;
}
}