DES HISTOGRAMES , CAMEMBERT 3D ET ÉCLATÉS CRÉÉ AU VOL EN PHP

crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009 - 11 mars 2010 à 09:19
deadhand Messages postés 152 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 27 août 2010 - 2 avril 2010 à 11:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51428-des-histogrames-camembert-3d-et-eclates-cree-au-vol-en-php

deadhand Messages postés 152 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 27 août 2010 3
2 avril 2010 à 11:29
Pas mal !!!
calfou Messages postés 24 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 mars 2010
18 mars 2010 à 14:06
Ok merci, en fait j'ai simplement remplacé le premier pour faire un essais par celui-ci :

imagettftext($im,10, $ang ,10,20, imagecolorallocate($im,255,255,255), './polices/comic.ttf',$titre);

J'ai évidement ajouté un dossier polices là ou se trouve le fichier qui va l'appeller :p Il est vrai que maintenant, le titre du graph est plus chouette!!

J'en ai profité pour virer aussi la pertinence et la saisie qui ne me servait pas ainsi que la création d'image au vol.. Un bon tuto en fait ton code pour moi ;)

Encore merci
cs_zozo14 Messages postés 46 Date d'inscription jeudi 2 novembre 2006 Statut Membre Dernière intervention 5 juin 2010
18 mars 2010 à 10:54
imagettftext est plus complet car il permet de choisir une police et son orientation ...
tu remplace imagestring par imagettftext dans le code en ajoutant les arguments necessaires..
calfou Messages postés 24 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 mars 2010
18 mars 2010 à 09:55
OK merci, et pour ce que tu indique au niveau du remplacement de imagestring, j'en trouve 3 dans le code. Mais je pige pas lequel il faut remplacer et surtout pourquoi le remplacer par une fonction. Comment on va l'appeller après? (Pas trop fort à ce niveau là moi)
cs_zozo14 Messages postés 46 Date d'inscription jeudi 2 novembre 2006 Statut Membre Dernière intervention 5 juin 2010
17 mars 2010 à 23:44
Content que cela puisse servir. En fait, j'ai fait cet outil graphique pour un dépouillement au vol d'un questionnaire, ou les réponses aux questions peuvent être pondérées ( 1, 2 , etc... selon la pertinence de la réponse.
D'autre part certaines questions peuvent demander des saisies de l'utilisateur (réponses de leur cru). Le graphique tient seulement compte du nombre (pondéré avec une valeur 10) de saisies des utilisateurs pour cette question. C'était utile pour mon application création de qcm , que tu peux consulter pour mieux comprendre à l'adresse http://claude.barbe3.free.fr/Wperso/Questionnaires/qcm.php
d'où la réponse à tes ques tions :
J'avais prévu cette option pertinence pour pondérer les secteurs du camembert, ou les barres... On peut donner une importance plus grande pour certaines réponses d'un questionnaire par exemple. L'option n'est finalement pas utilisée ici (il faudrait multiplier v0(i) par p0(i)), mais cela pourrait être utile. Sinon faire sauter cet argument...

- Idem pour les saisies ...
calfou Messages postés 24 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 mars 2010
17 mars 2010 à 20:26
Slt,

Chouette code qui m'a bien aidé! J'aurais tout de même des petits trucs à dire.

1/ En local avec Uwamp, ca ne marchais pas a cause des notices. J'ai palié le pblm en ajoutant un error_reporting (E_ALL ^ E_NOTICE);

2/ Faisant des stats pour un reporting, j'avais besoin pour aller plus vite dans l'adaptation d'envoyer des tableaux en nom et valeurs. j'ai donc modifié :
$max=count($noms); // max+1 valeurs , pour prévoir les saisies
$v=array($max); //valeurs en pourcentage
$nom=$noms;
$v0=$val;

Ensuite, j'ai vu que les tableaux ne passaient pas dans l'url :D J'ai donc décidé d'utilisé la methode du include. Et là, le cache m'a bien ennuyé car il fallait un Crtl + F5 pour voir la nouvelle image!! J'ai trouvé grace à google cette méthode : $cont .= '';

3/ Dans ton exemple tu met les valeurs séparées par une , et non un ; ce qui fait que le graph est faux..

4/ Un peut plus d'explication sur ta fonction aurait été le bienvenue car faut se taper tout le code pour savoir que n= dans l'url c'est la couleur à choisir entre 0 et 5 et que type c'est le type de graph.

5/ Deux Questions :

Qu'est-ce que la pertinence ? Un chiffre ajouté entre parenthèses après le nom mais à part ça?
Qu'est-ce que la saisie? A quoi elle sert exactement?
cs_zozo14 Messages postés 46 Date d'inscription jeudi 2 novembre 2006 Statut Membre Dernière intervention 5 juin 2010
12 mars 2010 à 22:33
Un utilitaire de création de qcm, sondage, etc...
qui utilise cree_graphique ci-dessus :

http://claude.barbe3.free.fr/Wperso/Questionnaires/qcm.php
cs_zozo14 Messages postés 46 Date d'inscription jeudi 2 novembre 2006 Statut Membre Dernière intervention 5 juin 2010
12 mars 2010 à 22:29
pour des polices plus sympa... remplacer imagestring par la fonction ci-dessous
peut être utile aussi pour fixer l'angle d'inclinaison du texte

function dessinetexte($im,$taille,$x,$y,$txt,$co)
{
$ang=0;
imagettftext($im,10, $ang ,$x ,$y+14 , $co, 'comic.ttf',$txt); //comic.ttf, arial.ttf etc...
}
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
11 mars 2010 à 09:19
Bravo pour ton travail qui donne vraiment un résultat sympa, sinon tu pourrais aussi regarder du côté d'artishow: www.artichow.org
et un exemple d'utilisation: http://www.phpcs.com/codes/STATISTIQUE-GRAPHIQUE-COMPOSANT-ARTICHOW_47171.aspx

L'avantage de ton code est que tu as la main sur tous les paramètres car tu dois le connaitre à fond et tu peux l'adapter à tes besoins.

L'avantage d'artishow est la variété des graphiques proposés et l'esthétique des images générées (anti-alias).

Sinon il existe aussi Open flash chart: http://teethgrinder.co.uk/open-flash-chart-2/
qui a l'air bien mais que je n'ai jamais utilisé !
Rejoignez-nous