Best Phoronix-test-suite code snippet using pts_graph_lines.graph_key_height
pts_graph_lines.php
Source:pts_graph_lines.php  
...175		$precision = $this->i['graph_max_value'] > 999 ? 0 : 1;176		$num_rows = max(1, ceil($this->test_result->test_result_buffer->get_count() / $this->i['keys_per_line']));177		$num_cols = ceil($this->test_result->test_result_buffer->get_count() / $num_rows);178		$y_start = $this->i['top_heading_height'] + 24;179		//$y_start = $this->i['top_start'] - $this->graph_key_height() + $this->getStatisticsHeaderHeight();180		$y_end = $y_start + $this->i['key_line_height'] * ($num_rows );181		$x_start = $this->i['left_start'];182		$x_end = $x_start + $this->i['key_item_width'] * ($num_cols - 1);183		// draw the "Min Avg Max" text184		$stat_header_offset = $this->i['key_longest_string_width'] + $square_length + 10;185		$g_text = $this->svg_dom->make_g(array('font-size' => 6.5, 'fill' => self::$c['color']['notches']));186		for($x = $x_start + $stat_header_offset; $x <= $x_end + $stat_header_offset; $x += $this->i['key_item_width'])187		{188			$stat_words = array('Min', 'Avg', 'Max');189			$stat_word_width = $this->get_stat_word_width();190			$attributes = array('y' => $y_start - 14);191			foreach($stat_words as &$stat_word)192			{193				$attributes['x'] = $x;194				$this->svg_dom->add_text_element($stat_word, $attributes, $g_text);195				$x += $stat_word_width;196			}197		}198		// draw the keys and the min,avg,max values199		$g_rect = $this->svg_dom->make_g(array('stroke' => self::$c['color']['notches'], 'stroke-width' => 1));200		for($i = 0, $x = $x_start; $x <= $x_end; $x += $this->i['key_item_width'])201		{202			for ($y = $y_start; $y <= $y_end; $y += $this->i['key_line_height'], ++$i)203			{204				if(!isset($this->test_result->test_result_buffer->buffer_items[$i]))205				{206					break;207				}208				$identifier_title = $this->test_result->test_result_buffer->buffer_items[$i]->get_result_identifier();209				$this_color = $this->get_paint_color($identifier_title);210				// draw square211				$this->svg_dom->add_element('rect',212								array('x' => $x, 'y' => $y - $square_length, 'width' => $square_length,213								  'height' => $square_length, 'fill' => $this_color), $g_rect);214				// draw text215				$g_text = $this->svg_dom->make_g(array('font-size' => self::$c['size']['key'], 'fill' => $this_color));216				$this->svg_dom->add_text_element($identifier_title, array('x' => $x + $square_length + 4, 'y' => $y), $g_text);217				// draw min/avg/max218				$x_stat_loc = $x + $square_length + $this->i['key_longest_string_width'] + 10;219				$vals = $this->test_result->test_result_buffer->buffer_items[$i]->get_result_value();220				$attributes = array('y' => $y);221				$stat_word_width = $this->get_stat_word_width();222				$stat_array = $this->calc_min_avg_max($vals);223				$precise_stat_array = array();224				foreach($stat_array as $stat_value)225				{226					if(is_string($stat_value))227					{228						// TODO investigate this case...229						// sometimes $stat_value is string of comma separated values230						$precise_stat_array[] = $stat_value;231					}232					else233					{234						$precise_stat_array[] = pts_math::set_precision($stat_value, $precision);235					}236				}237				$attributes['x'] = $x_stat_loc;238				foreach($precise_stat_array as $stat_value)239				{240					$this->svg_dom->add_text_element(strval($stat_value), $attributes, $g_text);241					$attributes['x'] += $stat_word_width;242				}243			}244		}245	}246	private static function calc_min_avg_max(&$data_set)247	{248		if(empty($data_set))249		{250			return array(0, 0, 0);251		}252		$min_value = min($data_set);253		$max_value = max($data_set);254		$avg_value = array_sum($data_set) / count($data_set);255		return array($min_value, $avg_value, $max_value);256	}257	protected function renderGraphLines()258	{259		$prev_value = 0;260		foreach($this->test_result->test_result_buffer->buffer_items as &$buffer_item)261		{262			$paint_color = $this->get_paint_color($buffer_item->get_result_identifier());263			$result_array = $buffer_item->get_result_value();264			$raw_array = $buffer_item->get_result_raw();265			$point_counter = count($result_array);266			$regression_plots = array();267			$poly_points = array();268			$g = $this->svg_dom->make_g(array('stroke' => $paint_color, 'stroke-width' => 1, 'fill' => $paint_color));269			for($i = 0; $i < $point_counter; $i++)270			{271				$value = isset($result_array[$i]) ? $result_array[$i] : -1;272				if($value < 0)273				{274					// Draw whatever is needed of the line so far, since there is no result here275					$this->draw_graph_line_process($poly_points, $paint_color, $regression_plots, $point_counter, $g);276					continue;277				}278				$identifier = $buffer_item->get_result_identifier();279				$std_error = isset($raw_array[$i]) ? pts_math::standard_error(pts_strings::colon_explode($raw_array[$i])) : 0;280				$data_string = $identifier . ': ' . $value;281				$value_plot_top = $this->i['graph_top_end'] + 1 - ($this->i['graph_max_value'] == 0 ? 0 : round(($value / $this->i['graph_max_value']) * ($this->i['graph_top_end'] - $this->i['top_start'])));282				$px_from_left = round($this->i['left_start'] + ($this->i['identifier_width'] * ($i + (count($this->graph_identifiers) > 1 ? 1 : 0))));283				if($px_from_left > $this->i['graph_left_end'])284				{285					break;286				}287				if($value_plot_top >= $this->i['graph_top_end'])288				{289					$value_plot_top = $this->i['graph_top_end'] - 1;290				}291				$poly_points[] = array($px_from_left, $value_plot_top, $data_string, $std_error);292				if(isset($this->d['regression_marker_threshold']) && $this->d['regression_marker_threshold'] > 0 && $i > 0 && abs(1 - ($value / $prev_value)) > $this->d['regression_marker_threshold'])293				{294					$regression_plots[($i - 1)] = $prev_identifier . ': ' . $prev_value;295					$regression_plots[$i] = $identifier . ': ' . $value;296				}297				$prev_identifier = $identifier;298				$prev_value = $value;299			}300			$this->draw_graph_line_process($poly_points, $paint_color, $regression_plots, $point_counter, $g);301		}302	}303	protected function draw_graph_line_process(&$poly_points, &$paint_color, &$regression_plots, $point_counter, &$g)304	{305		$poly_points_count = count($poly_points);306		if($poly_points_count == 0)307		{308			// There's nothing to draw309			return;310		}311		$svg_poly = array();312		foreach($poly_points as $x_y)313		{314			$svg_poly[] = round($x_y[0]) . ',' . round($x_y[1]);315		}316		$svg_poly = implode(' ', $svg_poly);317		$this->svg_dom->add_element('polyline', array('points' => $svg_poly, 'fill' => 'none', 'stroke-width' => 2), $g);318		// plot error bars if needed319		foreach($poly_points as $i => $x_y_pair)320		{321			if($x_y_pair[0] < ($this->i['left_start'] + 2) || $x_y_pair[0] > ($this->i['graph_left_end'] - 2))322			{323				// Don't draw anything on the left or right hand edges324				continue;325			}326			$plotted_error_bar = false;327			if($x_y_pair[3] > 0 && $this->i['graph_max_value'] != 0)328			{329				$std_error_width = 4;330				$std_error_rel_size = round(($x_y_pair[3] / $this->i['graph_max_value']) * ($this->i['graph_top_end'] - $this->i['top_start']));331				if($std_error_rel_size > 3)332				{333					$this->svg_dom->add_element('line', array('x1' => $x_y_pair[0], 'y1' => ($x_y_pair[1] + $std_error_rel_size), 'x2' => $x_y_pair[0], 'y2' => ($x_y_pair[1] - $std_error_rel_size)), $g);334					$this->svg_dom->add_element('line', array('x1' => ($x_y_pair[0] - $std_error_width), 'y1' => ($x_y_pair[1] - $std_error_rel_size), 'x2' => ($x_y_pair[0] + $std_error_width), 'y2' => ($x_y_pair[1] - $std_error_rel_size)), $g);335					$this->svg_dom->add_element('line', array('x1' => ($x_y_pair[0] - $std_error_width), 'y1' => ($x_y_pair[1] + $std_error_rel_size), 'x2' => ($x_y_pair[0] + $std_error_width), 'y2' => ($x_y_pair[1] + $std_error_rel_size)), $g);336					$plotted_error_bar = true;337				}338			}339			if(isset($regression_plots[$i]) && $i > 0)340			{341				$this->svg_dom->draw_svg_line($x_y_pair[0], $x_y_pair[1] + 6, $x_y_pair[0], $x_y_pair[1] - 6, self::$c['color']['alert'], 4, array('xlink:title' => $regression_plots[$i]));342			}343			if($point_counter < 6 || $plotted_error_bar || $i == 0 || $i == ($poly_points_count  - 1))344			{345				$this->svg_dom->add_element('ellipse', array('cx' => $x_y_pair[0], 'cy' => $x_y_pair[1], 'rx' => 3, 'ry' => 3, 'xlink:title' => $x_y_pair[2]), $g);346			}347		}348		$poly_points = array();349	}350	protected function render_graph_result()351	{352		$this->renderGraphLines();353	}354	protected function graph_key_height()355	{356		if(isset($this->i['force_simple_keys']) && $this->i['force_simple_keys'])357		{358			return parent::graph_key_height();359		}360		if($this->test_result->test_result_buffer->get_count() < 2 && $this->i['show_graph_key'] == false)361		{362			return 0;363		}364		$this->i['key_line_height'] = 16;365		$this->i['key_longest_string_width'] = self::text_string_width($this->test_result->test_result_buffer->get_longest_identifier(), self::$c['size']['key']);366		$item_width_spacing = 32;367		$this->i['key_item_width'] = $this->i['key_longest_string_width'] + $this->get_stat_word_width() * 3 + $item_width_spacing;368		// if there are <=4 data sets, then use a single column, otherwise, try and multi-col it369		if($this->test_result->test_result_buffer->get_count() < 3)370		{371			$this->i['keys_per_line'] = 1;372		}...graph_key_height
Using AI Code Generation
1$graph = new pts_graph_lines(800, 600);2$graph->set_graph_title('Graph Title');3$graph->set_graph_label('X-Axis Label', 'Y-Axis Label');4$graph->set_graph_key_height(20);5$graph->set_graph_key_width(100);6$graph->set_graph_key_position(100, 100);7$graph->set_graph_key_color('000000');8$graph->set_graph_key_font('000000', 10);9$graph->set_graph_key_font('000000', 10, 'bold');10$graph->set_graph_key_font('000000', 10, 'italic');11$graph->set_graph_key_font('000000', 10, 'bold italic');12$graph->set_graph_font('000000', 10);13$graph->set_graph_font('000000', 10, 'bold');14$graph->set_graph_font('000000', 10, 'italic');15$graph->set_graph_font('000000', 10, 'bold italic');16$graph->set_graph_background_color('FFFFFF');17$graph->set_graph_background_color('FFFFFF', 'FFFFFF');18$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF');19$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');20$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');21$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');22$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');23$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');24$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');25$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');26$graph->set_graph_background_color('FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF', 'FFFFFF');27$graph->set_graph_background_color('FFFFFF',graph_key_height
Using AI Code Generation
1require_once('pts_graph_lines.php');2$graph = new pts_graph_lines();3$graph->graph_key_height(20);4$graph->graph_key_width(200);5$graph->graph_title('Graph Title');6$graph->graph_y_title('Y Title');7$graph->graph_x_title('X Title');8$graph->graph_x_title('X Title');9$graph->graph_x_data(array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'));10$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line1', 'Line 1');11$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line2', 'Line 2');12$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line3', 'Line 3');13$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line4', 'Line 4');14$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line5', 'Line 5');15$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line6', 'Line 6');16$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line7', 'Line 7');17$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line8', 'Line 8');18$graph->graph_y_data(array(1,2,3,4,5,6,7,8,9,10,11,12), 'line9', 'Line 9');19$graph->graph_y_data(array(1,2,3,4,5,6,7,8,graph_key_height
Using AI Code Generation
1include_once("pts/pts_graph_lines.php");2$graph = new pts_graph_lines();3$graph->graph_key_height(20);4$graph->draw_graph();5$graph->display_graph();6include_once("pts/pts_graph_lines.php");7$graph = new pts_graph_lines();8$graph->graph_key_width(100);9$graph->draw_graph();10$graph->display_graph();11include_once("pts/pts_graph_lines.php");12$graph = new pts_graph_lines();13$graph->graph_key_color("red");14$graph->draw_graph();15$graph->display_graph();graph_key_height
Using AI Code Generation
1$graph = new pts_graph_lines();2$graph->set_key_labels(array('1', '2', '3', '4', '5', '6', '7'));3$graph->set_key_height(40);4$graph->set_key_width(20);5$graph->set_key_position('r');6$graph->set_key_border('tb');7$graph->set_key_border_color('red');8$graph->set_key_background_color('green');9$graph->set_key_font_size(10);10$graph->set_key_font_color('blue');11$graph->set_key_font('Arial');12$graph->set_key_margin('10');13$graph->set_key_padding('10');14$graph->set_key_round('5');15$graph->set_key_shadow('gray');16$graph->set_key_transparency(50);17$graph->set_key_outline_color('red');18$graph->set_key_outline_thickness('2');19$graph->set_key_outline_style('dashed');20$graph->set_key_gradient_color('green');21$graph->set_key_gradient_style('horizontal');22$graph->set_key_gradient_angle(45);23$graph->set_key_gradient_position(0.5);24$graph->set_key_gradient_type('radial');25$graph->set_key_gradient_smoothness('10');26$graph->set_key_gradient_start_color('red');27$graph->set_key_gradient_end_color('green');graph_key_height
Using AI Code Generation
1include("pts_graph_lines.php");2$graph = new pts_graph_lines();3$graph->graph_key_height(30);4$graph->graph_title("Graph Title");5$graph->graph_x_title("X Axis Title");6$graph->graph_y_title("Y Axis Title");7$graph->graph_x_values(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"));8$graph->graph_y_values(array(0,10,20,30,40,50,60,70,80,90,100));9$graph->graph_add_data(array(0,10,20,30,40,50,60,70,80,90,100), "blue", "Data Set 1");10$graph->graph_add_data(array(100,90,80,70,60,50,40,30,20,10,0), "red", "Data Set 2");11$graph->graph_out();12include("pts_graph_lines.php");13$graph = new pts_graph_lines();14$graph->graph_key_position("left");15$graph->graph_title("Graph Title");16$graph->graph_x_title("X Axis Title");17$graph->graph_y_title("Y Axis Title");18$graph->graph_x_values(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"));19$graph->graph_y_values(array(0,10,20,30,40,50,60,70,80,graph_key_height
Using AI Code Generation
1$graph_key_height = 20;2$graph = new pts_graph_lines($graph_key_height);3$graph->set_title('Graph Title');4$graph->set_title_font_size(20);5$graph->set_title_font_color('blue');6$graph->set_title_font('Arial');7$graph->set_title_font_style('bold');8$graph->set_title_font_weight('bold');9$graph->set_title_font_variant('small-caps');10$graph->set_title_font_decoration('underline');11$graph->set_x_label('X Label');12$graph->set_x_label_font_size(16);13$graph->set_x_label_font_color('green');14$graph->set_x_label_font('Arial');15$graph->set_x_label_font_style('italic');16$graph->set_x_label_font_weight('bold');17$graph->set_x_label_font_variant('small-caps');18$graph->set_x_label_font_decoration('underline');19$graph->set_x_axis_font_size(12);20$graph->set_x_axis_font_color('red');21$graph->set_x_axis_font('Arial');22$graph->set_x_axis_font_style('italic');23$graph->set_x_axis_font_weight('bold');24$graph->set_x_axis_font_variant('small-caps');25$graph->set_x_axis_font_decoration('underline');26$graph->set_x_axis_2_label('X Label 2');27$graph->set_x_axis_2_label_font_size(12);28$graph->set_x_axis_2_label_font_color('red');29$graph->set_x_axis_2_label_font('Arial');30$graph->set_x_axis_2_label_font_style('italic');31$graph->set_x_axis_2_label_font_weight('bold');32$graph->set_x_axis_2_label_font_variant('small-caps');33$graph->set_x_axis_2_label_font_decoration('underline');34$graph->set_x_axis_2_font_size(12);35$graph->set_x_axis_2_font_color('red');36$graph->set_x_axis_2_font('Arial');37$graph->set_x_axis_2_font_style('italic');38$graph->set_x_axis_2_font_weight('bold');39$graph->set_x_axis_2_font_variant('small-caps');40$graph->set_x_axis_2_font_decoration('underline');41$graph->set_y_label('Y Label');graph_key_height
Using AI Code Generation
1require_once(PTS_CORE . 'pts_graph_lines.php');2$graph = new pts_graph_lines();3$graph->load_data(array(array('a', 1, 2, 3, 4, 5), array('b', 5, 4, 3, 2, 1), array('c', 2, 3, 4, 5, 6)));4$graph->graph_key_height(100);5$graph->render_graph();6$graph->display_graph();7$graph->add_title('Example 2');8$graph->display_graph();9$graph->add_legend();10$graph->display_graph();11$graph->add_title('Example 2');12$graph->display_graph();13$graph->graph_key_height(100);14$graph->display_graph();15$graph->add_grid();16$graph->display_graph();17$graph->add_shadow();18$graph->display_graph();19$graph->add_background();20$graph->display_graph();21$graph->add_border();22$graph->display_graph();23$graph->add_footer();24$graph->display_graph();25$graph->add_logo();26$graph->display_graph();graph_key_height
Using AI Code Generation
1$graph = new pts_graph_lines();2$graph->set_graph_key_height(40);3$graph->render_graph($data_array);4$graph = new pts_graph_lines();5$graph->set_graph_key_height(100);6$graph->render_graph($data_array);7$graph = new pts_graph_lines();8$graph->set_graph_key_height(200);9$graph->render_graph($data_array);10$graph = new pts_graph_lines();11$graph->set_graph_key_height(300);12$graph->render_graph($data_array);13$graph = new pts_graph_lines();14$graph->set_graph_key_height(400);15$graph->render_graph($data_array);16$graph = new pts_graph_lines();17$graph->set_graph_key_height(500);18$graph->render_graph($data_array);19$graph = new pts_graph_lines();20$graph->set_graph_key_height(600);21$graph->render_graph($data_array);Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Execute automation tests with graph_key_height on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.
Test now for FreeGet 100 minutes of automation test minutes FREE!!
