<?php
/**
* __ _ ___ ___ ___ ___ ___ ____ _ __ ___ ___
* / _` |/ / / __/ _ \ / _ \ / / / __/| '_ ` _ \ / /
* | (_| |\ \| (_| (_) | (_) |\ \ | (__ | | | | | |\ \
* \__,_|/__/ \___\___/ \___/ /__/ \___\|_| |_| |_|/__/
*
*
************************************************************************************
* @ASCOOS-NAME : ASCOOS CMS 24' *
* @ASCOOS-VERSION : 24.0.0 *
* @ASCOOS-CATEGORY : Framework (Frontend and Administrator Side) *
* @ASCOOS-CREATOR : Drogidis Christos *
* @ASCOOS-SITE : www.ascoos.com *
* @ASCOOS-LICENSE : [Commercial] http://docs.ascoos.com/lics/ascoos/AGL.html *
* @ASCOOS-COPYRIGHT : Copyright (c) 2007 - 2024, AlexSoft Software. *
************************************************************************************
*
* @package : ASCOOS FRAMEWORK Examples
* @subpackage : Creates a line chart from the array data.
* @source : afw-examples/classes/TArrayHandler/Charts/Chart_Line.php
* @fileNo :
* @version : 24.0.5
* @created : 2024-12-05 07:00:00 UTC+3
* @updated : 2024-12-10 07:00:00 UTC+3
* @author : Drogidis Christos
* @authorSite : www.alexsoft.gr
* @license : AGL-F
*
* @since PHP 8.2
*/
require_once '../../../autoload.php';
require_once "$afw_path/extras/arrays/TArrayGraphHandler.php";
use ASCOOS\FRAMEWORK\Extras\Arrays\Graphs\TArrayGraphHandler;
/*
<ENGLISH> Change this value to switch between one-dimensional and multidimensional data.
<GREEK> ?????? ????? ??? ????? ??? ?? ??????????? ?????? ????????????? ??? ????????????? ?????????.
*/
$multidimensional = true;
if (!$multidimensional) {
/*
<ENGLISH> Data for one-dimensional diagram.
<GREEK> ???????? ??? ???????????? ?????????.
*/
$arrayData = [10, 20, 15, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 200, 250, 300, 350];
} else {
/*
<ENGLISH> Data for a multidimensional diagram.
<GREE?> ???????? ??? ???????????? ?????????.
*/
$arrayData = [
['x' => 1, 'y' => 10],
['x' => 2, 'y' => 20],
['x' => 3, 'y' => 15],
['x' => 4, 'y' => 25],
['x' => 5, 'y' => 30],
['x' => 6, 'y' => 35],
['x' => 7, 'y' => 40],
['x' => 8, 'y' => 45],
['x' => 9, 'y' => 50],
['x' => 10, 'y' => 60],
['x' => 11, 'y' => 70],
['x' => 12, 'y' => 80],
['x' => 13, 'y' => 90],
['x' => 14, 'y' => 100],
['x' => 15, 'y' => 110],
['x' => 16, 'y' => 120],
['x' => 17, 'y' => 130],
['x' => 18, 'y' => 140],
['x' => 19, 'y' => 150],
['x' => 20, 'y' => 200],
['x' => 21, 'y' => 250],
['x' => 22, 'y' => 300],
['x' => 23, 'y' => 350],
['x' => 24, 'y' => 400]
];
}
/*
<ENGLISH> Create an object with data.
<GREEK> ?????????? ???????????? ?? ????????.
*/
$objArrayGraph = new TArrayGraphHandler($arrayData, [
'width' => 800,
'height' => 600,
'showAxes' => true, // ???????? ??????
'fontPath' => $afw_examples_fonts.'/Murecho/Murecho-Regular.ttf', // ???????? ???? ?? ?????? ??????????????
'backgroundColorIndex' => 1, // 0=Black, 1=White, 2=Red, 3=Green, 4=Blue, 5=Yellow, 6=Cyan, 7=Magenta, 8=Maroon, 9=Dark Green, 10=Navy, 11=Olive, 12=Purple, 13=Teal, 14=Orange, 15=Pink, 16=Indigo, 17=Deep Pink
'lineColorIndex' => 0, // ??????? ???????? ??? ?? ??????
'axisColorIndex' => 0 // ??????? ???????? ??? ???? ??????
]);
/*
<ENGLISH> Create a line chart and save to a file.
<GREEK> ?????????? ?????????? ??????? ??? ?????????? ?? ??????.
*/
if (!$multidimensional) {
$objArrayGraph->createLineChart('line_chart_single.png');
} else {
$objArrayGraph->createLineChart('line_chart_multi.png');
}
$objArrayGraph->Free($objArrayGraph);
/*
<ENGLISH> Display the image to the user.
<GREEK> ???????? ??? ??????? ???? ??????.
*/
echo $multidimensional ? '<img src="line_chart_multi.png" alt="Line Chart Multi">' : '<img src="line_chart_single.png" alt="Line Chart Single">';
|