Graph php courbe de charge

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 755 fois - Téléchargée 18 fois

Contenu du snippet

Ce script permet de générer une image representant une courbe de charge tracée suivant les valeurs transmises.
La largeur correspond en pixel au nombre de valeurs transmises +1
La hauteur est égale à la valeur height (dans l'URL) +1 pixel
Les couleurs :
- color1 : couleur de la courbe
- color2 : couleur intérieur de la courbe
- color3 : couleur du cadre

Mon site : http://www.need-soft.com

Source / Exemple :


<?php

if (isset($_GET['height']))
	$height = $_GET['height'];
else
	$height = 45;
	
if (isset($_GET['color1']))
	$color1 = $_GET['color1'];
else
	$color1 = "209F0B";

if (isset($_GET['color2']))
	$color2 = $_GET['color2'];
else
	$color2 = "60D154";
	
if (isset($_GET['color3']))
	$color3 = $_GET['color3'];
else
	$color3 = "404040";
	
if (isset($_GET["value"]))
	{
	$value = $_GET["value"];

	$addval=0;
	$valuearray = explode(",", $value);
	$width = count($valuearray);
	$addval=max($valuearray);
		
		$moyadd=floor($addval/$height);
		for($i=0;$i<($width+1);$i++)
		{
			$newvalue=floor($valuearray[$i]/$moyadd);
			$value2[$i] = $height-$newvalue;
		}	
	}
$values[0] = 0;
$values[1] = $height;
for($i=0;$i<($width+1);$i++)
{ 
	$values[$i*2+2] = $i;
	$values[$i*2+3] = $value2[$i];
}
$values[(($width*2)+2)] = (($width*2)+1);
$values[(($width*2)+3)] = $height+1;

//);	

$image = imagecreatetruecolor(($width+2), $height+1);

$rouge1 = hexdec(substr($color1,0,2));
$vert1 = hexdec(substr($color1,2,2));
$bleu1 = hexdec(substr($color1,4,2));

$rouge2 = hexdec(substr($color2,0,2));
$vert2 = hexdec(substr($color2,2,2));
$bleu2 = hexdec(substr($color2,4,2));

$rouge3 = hexdec(substr($color3,0,2));
$vert3 = hexdec(substr($color3,2,2));
$bleu3 = hexdec(substr($color3,4,2));

$line   = imagecolorallocate($image, $rouge1, $vert1, $bleu1);
$bg = imagecolorallocate($image, $rouge2, $vert2, $bleu2);
$borderl = imagecolorallocate($image, $rouge3, $vert3, $bleu3);

imagefilledpolygon($image, $values, ($width+2), $bg);
imagepolygon($image, $values, ($width+2), $line);
imagerectangle($image, 0, 0, $width+1, $height, $borderl);

header('Content-type: image/png');
imagecolortransparent($image,0);
imagepng($image);
imagedestroy($image);

?>

Conclusion :


Voici un exemple d'URL : /graph.php?color1=404040&color2=ddd8ed&height=45&value=2642,2814,5817,2349,3020,2109,2499,2523,2420,2843,2586,2353,2221,2126,2961,2467,2556,2488,2766,2242,2129,2997,2104,2315,2324,2387,3044,2601,2681,2711,2585,5213,2414,2292,2462,2324,2301,2861,2747,2622,2594,2223,2875,2715,2249,2726,3082,2706,2104,2738,2849,2133,2625,2853,2349,2849,2130,2282,2340,2712,2894,2825,2825,2198,3018,2177,2422,2208,2939,3070,2731,2422,2182,2495,3037,2332,2111,3009,2939,2115,2637,2677,2148,2151,2420,2398,2901,2450,2580,2130,3062,2364,2856,2777,2462,2763,2855,2784,2872,2684,2744,2492,3006,2826,2888,2933,3059,2899,2831,2887,2914,2358,2454,2963,2410,2774,2250,2200,2113,2730,2231

A voir également

Ajouter un commentaire Commentaires
yohann034 Messages postés 4 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 10 janvier 2012
11 janv. 2012 à 12:43
j'y avais pas pensé, c'est bien vue, merci !
s.defaye Messages postés 11 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 11 janvier 2012
11 janv. 2012 à 00:15
Bonjour,

Le script génère une image. Vous pouvez par exemple mettre le script en attribut src d'une balise img.

L'actualisation de l'image dans une page peut se faire en javascript:

document.getElementById('i-graph').src = "/graph.php?color1=404040&color2=ddd8ed&height=45&value=2642,2814.............et toutes les valeurs"

Vous pouvez trouvez un exemple d'usage sur http://www.need-soft.com/index.php?option=com_content&view=article&id=70&Itemid=488&lang=fr
yohann034 Messages postés 4 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 10 janvier 2012
10 janv. 2012 à 22:21
Bonjour,

juste une précision, ça ne marche pas dès qu'on met des balises <html> et </html> autour du code.

Comment puis-je l'intégrer à l'intérieure d'une page web ?

Est ce qu'on est obligé d'enregistrer l'image dans un dossier après création afin de l'afficher dans une autre page web ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (s.defaye)