begin process at 2012 05 27 16:36:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > AFFICHAGE INFOBULLE SUR GRAPHIQUE ARTICHOW

AFFICHAGE INFOBULLE SUR GRAPHIQUE ARTICHOW


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :artichow, infobulle, php, graphique Niveau :Initié Date de création :16/10/2009 Vu / téléchargé :5 288 / 433

Auteur : nirronico

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour,

Etant donné que j'ai vu plusieurs fois dans le forum des personnes cherchant à mettre en place des infobulles lors du survol d'une courbe (LinePlot ou PlotGroup) avec le pointeur de la souris, je vous propose ici les moyens de la mettre en place.
Ainsi, lorsque la souris se retrouvera au dessus d'un point pourront être affichés :
- Le nom de la courbe auquel il appartient
- Sa valeur en abscisse
- Sa valeur en ordonnée

La solution sera détaillée comme suit :
1) Pré requis : Ensemble des fonctionnalités requises pour mettre en place la fonctionnalité
2) Mécanisme : Explication du mécanisme de mise en place
3) Mise en place : Placement des fichiers pour exploitation

Allez, c'est parti !

----------------------------------------------- -------------------------------------------------- -----------------
1) Pré-requis :

1.a) Javascript

Javascript va nous être utile pour programmer le comportement des éléments de la page en fonction des évènements déclenchés par l'utilisateur.

Vous aurez besoin des fonctions javascript suivantes :
- elt_ShowBubble : Afficher une infobulle
- elt_HideBubble : Masquer une infobulle
- img_UseMap : Modification de la MAP d'une image
- elt_SetInnerHtml : Modification du contenu HTML d'un élément

Nous inclurons ces fonctions dans le fichier fwk_gen.js

1.b) AJAX

AJAX sera utilisé pour construire la MAP après le chargement de l'image.

Vous aurez donc besoin des fonctions javascript (et oui, AJAX c'est du javascript) suivantes :
- ajax_Request : Déclenche une requête sur le serveur via AJAX
- ajax_Process : Traitement déclenché par la réponse du serveur

Nous inclurons ces fonctions dans le fichier fwk_ajax.js

1.c) ARTICHOW

La classe LinePlot.class.php de Artichow a été enrichie d'une nouvelle fonction afin de récupérer les points nécessaires à la création de la MAP pour l'image.

Vous aurez donc besoin de la la nouvelle classe contenant la fonction suivante :
- setImageMapFile : Création d'un fichier contenant l'ensemble des points

Pour une intégration plus facile, la classe modifiée sera fournie

1.d) PHP - Création du graphique

La fonction PHP suivante cré un graphique ARTICHOW et fait appel à la fonction ci-dessus :
- createGraph : Dessine un graphique de type LinePlot. Elle sera appelée dans un script de création du graphique nommé script_creation_graphique.php

Nous inclurons cette fonction dans le fichier linePlotGraph.php. script_creation_graphique.php fera donc un include de linePlotGraph.php

1.e) PHP - Création de la MAP

La fonction PHP suivante sera utilisée pour créer le code HTML de la MAP à partir du fichier contenant l'ensemble des points de(s) courbe(s) :
- createHtmlMap

Nous inclurons cette fonction dans le fichier html_map.php

1.f) HTML et CSS

Dans la page HTML qui va contenir l'image, il est nécessaire de définir une balise <DIV> qui va jouer le rôle d'infobulle. Les propriétés d'affichage de cette infobulle vont être définies dans une CSS.

-------------------------------------------- -------------------------------------------------- --------------------
2) Mécanisme

Bon, après avoir défini les pré-requis, voilà comment va se dérouler le mécanisme :
a) Création d'une page HTML qui va contenir une image (balise <IMG>) => index.php
b) Au chargement de index.php, l'image va être créée grâce à l'appel d'un script PHP positionné dans l'attribut SRC de l'image (SRC='script_creation_graphique.php...')
c) Ce script va faire appel à la fonction createGraph (utilisation de la classe modifiée LinePlot.class.php de ARTICHOW)
d) La fonction createGraph va :
- Créer le fichier contenant la liste des points grâce à l'appel de la fonction setImageMapFile
- Renvoyer un flux binaire correspondant au contenu de l'image représentant le graphique (fonctionnement classique de ARTICHOW)
e) Une fois que l'image a été chargée (à la fin du chargement de la page donc), il faut créer la MAP de l'image
f) Appel donc à AJAX (dans l'attribut ONLOAD de l'image) pour exécuter la fonction createHtmlMap du script html_map.php, qui va récupérer le fichier de point et renvoyer le code HTML de la MAP
g) En retour de la requête AJAX nous avons donc le code HTML de la MAP qu'il faut insérer dans la page HTML (à ce moment, le fichier de point est supprimé car plus utile) et affecter à l'image représentant le graphique.
h) Il ne reste plus qu'à admirer la courbe et afficher les infobulles en survolant les points avec le pointeur de la souris
------------------------------------------- -------------------------------------------------- ---------------------
3) Mise en place

- Créer un répertoire nommé 'graphique' dans votre serveur WEB
- Insérer tous les fichiers dans ce répertoire
- Faite appel à la page index.php et amusez-vous

Pour info, si vous décidez de mettre les fichiers ailleurs que dans un répertoire nommé 'graphique', veuillez changer l'url AJAX dans la page index.php

Source

  • Les sources se trouvent dans le fichier artichow_et_infobulle.zip
Les sources se trouvent dans le fichier artichow_et_infobulle.zip

 Conclusion

J'espère avoir comblé un besoin !

A votre service,

Nirronico

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture STATISTIQUE GRAPHIQUE (COMPOSANT ARTICHOW) par crazygogo
Source avec Zip Source avec une capture [GD] PRÉSENTATION GRAPHIQUE DE DONNÉES : LES POLYGONES par Mr Aliasing
Source avec Zip CAMEMBERT par yosri01
Source avec Zip KIETU V4.0.0 BETA2 par wizad
Source avec une capture FONCTION EN ESCALIER CONSTRUITE EN PHP par GossBuster

Commentaires et avis

Commentaire de loeb le 24/11/2009 06:54:43 10/10

Après pas mal d'essais infructueux pour afficher un graphique Artichow, et après avoir à peu près tout essayé, j'ai téléchargé ce travail et CA FONCTIONNE. Rien que pour ça (proposer un source clés en main, qui est valide et fonctionnel), un énorme bravo et un grand merci.

L'erreur Mozilla "l'image ne peut pas être affichée car elle contient des erreurs" et les codesASCII barbares d'Internet Explorer ne sont donc pas une fatalité, quand on tente de génèrer une image en php+artichow

Commentaire de obedjava le 18/04/2010 13:53:40

Bonjour,
après avoir installé le répertoire graphique et tout son contenu d'origine j'obtiens le message d'erreur suivant :
file_put_contents(listePoints.txt) [function.file-put-contents] :failed to open stream:Permission denied in /webhome/html/graphique/Artichow-php5/LinePlot.class.php on line 296
le code incriminé est le suivant :
//Ecriture des points dans un fichier
if(isset($this->imageMapFile)){
if($this->imageMapFileAddMode){
if(file_exists($this->imageMapFile)){
$imageMapFile = file_get_contents($this->imageMapFile).$imageMapFile;
}
}
file_put_contents($this->imageMapFile,$imageMapFile);
}
Que puis-je faire ?
Merci d'avance !

Commentaire de nirronico le 18/04/2010 17:30:07

Salut,
je pense qu'il faut donner les droits d'accès en écriture au répertoire graphique.

Commentaire de obedjava le 18/04/2010 19:34:21

Merci Nirronico ! ca me semble être la bonne raison puisque sur un serveur ou j'ai des droits plus étendus j'arrive à afficher le graphique Artichow.
En revanche les info-bulles n'apparaissent pas. J'ai réinstallé le répertoire graphique tout clean mais j'ai pas de bulle...
Il y a un truc qui m'échappe... Quelqu'un a-t-il connu ce pb avant moi ?
Merci !

Commentaire de obedjava le 19/04/2010 12:05:12

J'ai résolu mon problème en changeant dans le fichier index.php la ligne
onload="ajax_Request('html_map',2,false,2,'http://localhost/graphique/html_map.php'...
par celle-ci
onload="ajax_Request('html_map',2,false,2,'http://monsite/graphique/html_map.php'...
Un grand merci, Nirronico, pour ce super code !

Commentaire de nirronico le 19/04/2010 12:18:03

Effectivement, j'avais précisé cette manip dans le "3) Mise en place" de la description.

a+

Commentaire de stfuffs le 28/05/2010 11:02:33

Tout simplement génial!
Fonctionne même sous ie6, c'est pour dire :D

Merci beaucoup pour cet impeccable travail, propre, efficace, correctement documenté ... bref, une perle quoi :]

Commentaire de oliv2223 le 04/10/2010 12:14:52

Bonjour à tous,

  Je profites d'être en un lieu ou pas mal de personne connaissent artichow pour poser ma question.
Je dois faire un histogramme. Jusque la pas de probleme.
j'ai 8 plots représentants les résultats de 8 communes.
Je souhaite pouvoir attribuer a chacune des communes une couleur particuliere.
commune1=vert
commune2=bleu etc etc....
  Quelqu'un sait il comment faire cela.un histo avec des plots de couleurs differentes

  Merci a tous par avance de l'aide que vous pourrez m'apporter

Commentaire de amirado le 04/08/2011 11:37:10

Bonjour à tous,
Pourriez- vous m'indiquer comment faire pour ajouter d'autres informations dans l'infobulle?je sais que c'est en partant du fichier de données et ensuite dans les tableaux obtenus par explode mais j'y arrive pas

Merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

statistiques ,graphique, php et mysql [ par mouss ] connaissez vous des exemples mettant en oeuvre une base de donnée mysql ,php permettant de créer des courbes, nuages de points sur une feuille html (p graphique, histogramme, diagramme... [ par jbardet ] Bonjour,Je souhaite créer des digramme de stat en php (+ exactement avec smarty) mais deja si j'y arrive en php ça le ferait!Mon problème:J'ai trouvé Graphique php, imageTTFBBox et imageTTFText [ par DarkSchneider ] salut tous le monde,C'est après deux et demi de bataille avec ce script que je vient déposer les armes ici. Le but de ce script a pour but de faire af éditeur graphique html/php sous linux [ par eax ] salutje ch un éditeur html, php, javascript graphique genre dreamweaver sous linux Sylvain [email] [<a href="http://www.ea graphique en courbe avec liaison mysql [ par jeremy77 ] Bonjour a tous,(Je suis débutant en php)Dans le cadre de réaliser une chart boursier en php, j'ai reussi a faire apparaitre un graphique en courbe a l Affichage de graphique [ par nbenoist ] sur RedHat 7.2 J'ai une page php qui lit un fichier de log. Ma page php me affiche 2 camenbert suivant les informations du fichier log. J'ai mis les graphique dynamique php [ par coolboarder ] Bonjour,je&nbsp;souhaite cr&#233;er un graphique en php qui se g&#233;n&#232;re automatiquement d'apr&#232;s les donn&#233;es d'une bd.Les donn&#233;e PHP et GRAPHIQUE [ par paty03 ] PATY Je cherche un editeur php graphique sous linux, c'est urgent!!!!!!!!!! [ par sousou_one ] Bonjour tt le monde, Je cherche un editeur php graphique sous linux, j'ai une distribution SUSE 10.0 est ce que quelqu'un peut m'aider? Merci d'avance Planning annuel (graphique créé en php) [ par switsh ] Bonjour !Je souhaite r&#233;aliser un petit programme qui me permet de visualiser les reservation de plusieurs appartement sur une ann&#233;e.Je m'exp


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales