| 
<?php
 /** example.php of cli-graph-ml.class.php
 *
 * Class for visualize data in bar graph & detect outliers *
 *
 * @author Rafael Martin Soto
 * @author {@link https://www.inatica.com/ Inatica}
 * @blog {@link https://rafamartin10.blogspot.com/ Blog Rafael Martin Soto}
 * @since September 2021
 * @version 1.0.0
 * @license GNU General Public License v3.0
 *
 * @param string $data
 * @param array $axis_x_values
 * @param array $axis_y_values
 * @param string $config
 *
 */
 
 require_once( 'cli-graph-ml.class.php' );
 
 /* You can define a custom $config
 $config = [
 'graph_length'  => 10,
 'bar_color'  => 'lightwhite',
 'title'  => '',
 'draw_underlines'  => true,
 'underlines_every'  => 1,
 'bar_width'  => 1,
 'show_y_axis_title'  => true,
 'show_x_axis_title'  => true,
 'x_axis_title' => 'AXIS X',
 'y_axis_title' => 'AXIS Y',
 'padding_left'  => 1,
 'padding_right'  => 1,
 'padding_top'  => 1,
 'padding_bottom'  => 1,
 'explain_values'  => true,
 'explain_values_same_line'  => false
 ]; // /$default_cfg
 */
 
 $config = null;
 
 
 $arr_val_example_1 = [  1,2,5,6,7,9,12,15,18,19,38 ];
 $axis_x_values = [ 'Jan', 'Jun', 'Dec' ];
 
 $bar_graph = new cli_graph_ml( $arr_val_example_1, $axis_x_values, $config );
 $bar_graph->set_title( 'Months in %' );
 
 // Draw with defaults
 echo 'Defaults Bar Graph'.PHP_EOL;
 $bar_graph->draw();
 
 
 // Draw with bar width 2
 $bar_width = 2;
 echo 'Bar Width '.$bar_width.PHP_EOL;
 $bar_graph->set_bar_width( $bar_width );
 $bar_graph->set_bar_color( 'blue' );
 $bar_graph->set_explain_values_same_line( true );
 $bar_graph->draw();
 
 
 // Draw with bar width 4
 $bar_width *= 2;
 echo 'Bar Width '.$bar_width.PHP_EOL;
 $bar_graph->set_bar_width( $bar_width );
 $bar_graph->set_explain_values( false );
 $bar_graph->set_bar_color( 'magenta' );
 $bar_graph->set_underlines_every( 2 );
 $bar_graph->draw();
 
 
 // Draw with bar width 8
 $bar_width *= 2;
 echo 'Bar Width '.$bar_width.PHP_EOL;
 $bar_graph->set_bar_width( $bar_width );
 $bar_graph->set_explain_values( true );
 $bar_graph->set_bar_color( 'yellow' );
 $bar_graph->set_underlines_every( 3 );
 $bar_graph->draw();
 
 // Draw without underlines, Graph Lenght 20 & with bar width 16
 $bar_width *= 2;
 echo 'Remove underlines'.PHP_EOL;
 $bar_graph->set_bar_width( $bar_width );
 $bar_graph->set_draw_underlines( false );
 $bar_graph->set_bar_color( 'green' );
 $bar_graph->set_graph_length( 20 );
 $bar_graph->draw();
 
 unset( $bar_graph );
 
 // draw 3 graphs floating
 $arr_val_example_2 = [  7,7,6,3,5,8,0,10,8,9,3 ];
 $arr_val_example_3 = [  11,22,55,60,70,90,120,150,180,190,380 ];
 $axis_x_values = [ 'Jan', 'Jun', 'Dec' ];
 
 $bar_graph = [];
 
 $bar_graph[] = new cli_graph_ml( $arr_val_example_1, $axis_x_values, $config );
 $bar_graph[0]->set_title( 'Months 1 in %' );
 
 $bar_graph[] = new cli_graph_ml( $arr_val_example_2, $axis_x_values, $config );
 $bar_graph[1]->set_title( 'Months 2 in %' );
 
 $bar_graph[] = new cli_graph_ml( $arr_val_example_3, $axis_x_values, $config );
 $bar_graph[2]->set_title( 'Months 3 in %' );
 
 // Prepare on each graph
 foreach( $bar_graph as$graph){
 $graph->prepare_array_output( );
 }
 
 // draw on each graph each line
 // IMPORTANT: All graphs will need to have the same number of Lines
 // We take a counter of lines of the first graph. We assume all have the same
 $count_output_lines = $bar_graph[0]->count_output_lines();
 
 for( $i = 0; $i< $count_output_lines; $i++ ){
 foreach( $bar_graph as $graph){
 $graph->draw( $i, false, false); // Draw line $i, dont do line break and do not do prepare
 }
 
 echo PHP_EOL; // for get new line
 }
 
 unset( $graph );
 unset( $i );
 unset( $arr_val_example );
 unset( $bar_graph );?>
 |