function flickr() { $chart = new GoogleChart('lc', 500, 154); $chart->setAutoscale(GoogleChart::AUTOSCALE_VALUES); $chart->setGridLines(0, 50, 3, 2); $chart->setMargin(10); $values = array(34, 18, 21, 70, 53, 39, 39, 30, 13, 15, 4, 8, 5, 8, 4, 8, 44, 16, 16, 3, 10, 7, 5, 20, 20, 28, 44, null); $line = new GoogleChartData($values); $line->setColor('000000'); $line->setThickness(3); $line->setFill('eeeeee'); $chart->addData($line); $m = new GoogleChartShapeMarker(GoogleChartShapeMarker::CIRCLE); $m->setData($line); $m->setColor('000000'); $m->setSize(7); $m->setBorder(2); $chart->addMarker($m); $values = array_fill(0, sizeof($values) - 2, null); $values[] = 44; $values[] = 34; $line2 = new GoogleChartData($values); $line2->setColor('000000'); $line2->setThickness(3); $line2->setDash(4, 2); $line2->setFill('eeeeee'); $chart->addData($line2); $m = new GoogleChartShapeMarker(GoogleChartShapeMarker::CIRCLE); $m->setData($line2); $m->setColor('ffffff'); $m->setSize(4); $m->setBorder(4, '000000'); $m->setPoints(-1); $chart->addMarker($m); $y_axis = new GoogleChartAxis('y'); $y_axis->setDrawLine(false); $y_axis->setDrawTickMarks(false); $y_axis->setLabels(array(null, 35, 70)); $y_axis->setFontSize(9); $y_axis->setTickMarks(5); $y_axis->setTickColor('ffffff'); $chart->addAxis($y_axis); $x_axis = new GoogleChartAxis('x'); $x_axis->setDrawLine(false); $x_axis->setLabels(array('27 apr', '04 may', '11 may', '18 may')); $x_axis->setLabelPositions(0, 25.8, 51.8, 77.59999999999999); $x_axis->setTickMarks(5); $x_axis->setFontSize(9); $chart->addAxis($x_axis); return $chart->getUrl(); }
/** * Draws Chart for PDF Report. * * Draws the sales and earnings chart for the PDF report and then retrieves the * URL of that chart to display on the PDF Report. * * @since 1.1.4.0 * @uses GoogleChart * @uses GoogleChartData * @uses GoogleChartShapeMarker * @uses GoogleChartTextMarker * @uses GoogleChartAxis * @return string $chart->getUrl() URL for the Google Chart */ function give_draw_chart_image() { require_once GIVE_PLUGIN_DIR . '/includes/libraries/googlechartlib/GoogleChart.php'; require_once GIVE_PLUGIN_DIR . '/includes/libraries/googlechartlib/markers/GoogleChartShapeMarker.php'; require_once GIVE_PLUGIN_DIR . '/includes/libraries/googlechartlib/markers/GoogleChartTextMarker.php'; $chart = new GoogleChart('lc', 900, 330); $i = 1; $earnings = ""; $sales = ""; while ($i <= 12) { $earnings .= give_get_earnings_by_date(null, $i, date('Y')) . ","; $sales .= give_get_sales_by_date(null, $i, date('Y')) . ","; $i++; } $earnings_array = explode(",", $earnings); $sales_array = explode(",", $sales); $i = 0; while ($i <= 11) { if (empty($sales_array[$i])) { $sales_array[$i] = 0; } $i++; } $min_earnings = 0; $max_earnings = max($earnings_array); $earnings_scale = round($max_earnings, -1); $data = new GoogleChartData(array($earnings_array[0], $earnings_array[1], $earnings_array[2], $earnings_array[3], $earnings_array[4], $earnings_array[5], $earnings_array[6], $earnings_array[7], $earnings_array[8], $earnings_array[9], $earnings_array[10], $earnings_array[11])); $data->setLegend(esc_html__('Income', 'give')); $data->setColor('1b58a3'); $chart->addData($data); $shape_marker = new GoogleChartShapeMarker(GoogleChartShapeMarker::CIRCLE); $shape_marker->setColor('000000'); $shape_marker->setSize(7); $shape_marker->setBorder(2); $shape_marker->setData($data); $chart->addMarker($shape_marker); $value_marker = new GoogleChartTextMarker(GoogleChartTextMarker::VALUE); $value_marker->setColor('000000'); $value_marker->setData($data); $chart->addMarker($value_marker); $data = new GoogleChartData(array($sales_array[0], $sales_array[1], $sales_array[2], $sales_array[3], $sales_array[4], $sales_array[5], $sales_array[6], $sales_array[7], $sales_array[8], $sales_array[9], $sales_array[10], $sales_array[11])); $data->setLegend(esc_html__('Donations', 'give')); $data->setColor('ff6c1c'); $chart->addData($data); $chart->setTitle(esc_html__('Donations by Month for all Give Forms', 'give'), '336699', 18); $chart->setScale(0, $max_earnings); $y_axis = new GoogleChartAxis('y'); $y_axis->setDrawTickMarks(true)->setLabels(array(0, $max_earnings)); $chart->addAxis($y_axis); $x_axis = new GoogleChartAxis('x'); $x_axis->setTickMarks(5); $x_axis->setLabels(array(esc_html__('Jan', 'give'), esc_html__('Feb', 'give'), esc_html__('Mar', 'give'), esc_html__('Apr', 'give'), esc_html__('May', 'give'), esc_html__('June', 'give'), esc_html__('July', 'give'), esc_html__('Aug', 'give'), esc_html__('Sept', 'give'), esc_html__('Oct', 'give'), esc_html__('Nov', 'give'), esc_html__('Dec', 'give'))); $chart->addAxis($x_axis); $shape_marker = new GoogleChartShapeMarker(GoogleChartShapeMarker::CIRCLE); $shape_marker->setSize(6); $shape_marker->setBorder(2); $shape_marker->setData($data); $chart->addMarker($shape_marker); $value_marker = new GoogleChartTextMarker(GoogleChartTextMarker::VALUE); $value_marker->setData($data); $chart->addMarker($value_marker); return $chart->getUrl(); }
$m->setColor('000000'); $m->setSize(7); $m->setBorder(2); $chart->addMarker($m); $values = array_fill(0, sizeof($values) - 2, null); $values[] = 44; $values[] = 34; $line2 = new GoogleChartData($values); $line2->setColor('000000'); $line2->setThickness(3); $line2->setDash(4, 2); $line2->setFill('eeeeee'); $chart->addData($line2); $m = new GoogleChartShapeMarker(GoogleChartShapeMarker::CIRCLE); $m->setData($line2); $m->setColor('ffffff'); $m->setSize(4); $m->setBorder(4, '000000'); $m->setPoints(-1); $chart->addMarker($m); $y_axis = new GoogleChartAxis('y'); $y_axis->setDrawLine(false); $y_axis->setDrawTickMarks(false); $y_axis->setLabels(array(null, 35, 70)); $y_axis->setFontSize(9); $y_axis->setTickMarks(5); $y_axis->setTickColor('ffffff'); $chart->addAxis($y_axis); $x_axis = new GoogleChartAxis('x'); $x_axis->setDrawLine(false); $x_axis->setLabels(array('27 apr', '04 may', '11 may', '18 may'));
$chart->addData($data0); $data1 = new GoogleChartData($values[1]); $data1->setColor(array('FFC6A5', 'FFFF42', 'DEF3BD', '00A5C6', 'DEBDDE')); $chart->addData($data1); $marker = new GoogleChartLineMarker(); $marker->setData($data0); $marker->setSize(5); $marker->setPoints(5); $chart->addMarker($marker); $marker = new GoogleChartLineMarker(); $marker->setData($data0); $marker->setColor('6699cc'); $marker->setSize(5); $marker->setPoints(0, 5); $marker->setZOrder(-0.5); $chart->addMarker($marker); $data2 = new GoogleChartData($values[2]); $marker = new GoogleChartShapeMarker('a'); $marker->setColor('ff0000'); $marker->setData($data2); $chart->addMarker($marker); $y_axis = new GoogleChartAxis('y'); $chart->addAxis($y_axis); if (isset($_GET['debug'])) { var_dump($chart->getQuery()); echo $chart->validate(); echo $chart->toHtml(); } else { header('Content-Type: image/png'); echo $chart; }