Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 18h26   #1
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Par défaut Gérer les abscisses de type DateTime

Bonjour à tous,

J'affiche un graphique de températures sur un intervalle de temps. Celui-ci est en pièce jointe.
Lorsque je rempli le tableau qui contient les dates de mon abscisse, celles-ci sont de cette forme "YYYY-MM-DD HH:MM:SS".
Pour prendre en compte le format date pour mon axe des x, j'ai mis ces lignes:
Code :
1
2
3
 
require_once ("jpgraph\jpgraph_date.php");
$graph->SetScale("datlin");
Sur ma page, il sera possible de choisir la températures à afficher entre 2 dates, comme ça on pourra afficher la température durant 2 jours, une semaines... Cette intervalle est donc changeant et je suppose que JpGraph adapte automatiquement l'echelle.

J'aimerais que sur mon graphique, au lieu de faire un angle à 90°, mes abscisses soient représentées comme ça:
YYYY-MM-DD
HH:MM:SS

Y a t'il une fonction, ou un paramètre dans JpGraph qui fait cela ?

Merci.
Images attachées
Type de fichier : png graph.png (15,0 Ko, 6 affichages)
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 19h14   #2
Membre régulier
 
Avatar de ypcman
 
Homme Yves
Responsable en conduite du changement
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : France

Informations professionnelles :
Activité : Responsable en conduite du changement
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 73
Points : 73
  1. pour la rotation : $graph->SetAngle(90);
  2. pour le reste,tu peux essayer : $graph->xaxis->scale->SetDateFormat( 'H:i' );
    It will display the hour (24h) and minutes in the label separated by a colon (':')
    A bidouiller pour modifier 'H:i' en fonction de ton besoin tout en restant conforme au format de la fonction date() bien connue.
ypcman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 19h27   #3
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
J'ai justement utilisé la fonction SetAngle() sinon mes abscisses se superposaient.
J'ai du mal m'exprimer, je voudrais ecrire la date et en dessous l'heure et non les 2 cote à cote.
Est ce possible ?
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h36   #4
Membre régulier
 
Avatar de ypcman
 
Homme Yves
Responsable en conduite du changement
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : France

Informations professionnelles :
Activité : Responsable en conduite du changement
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 73
Points : 73
Avec
Code :
$graph->SetScale("datlin");
je n'ai pas trouvé de méthode car la fonction $graph->xaxis->scale->SetDateFormat() doit être formatée comme date ()en php, fonction qui, à ma connaissance ne permet pas de faire ce que tu veux. Le format à utiliser est : 'Y-m-d H:i:s'
En revanche avec
Code :
$graph->SetScale("textlin")
il suffit d'ajouter \n dans ta date pour faire un retour à la ligne : 2011-08-07\n12:22:15
ypcman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 18h07   #5
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Merci de ton aide. C'est exactement ce que je voulais. Excuse moi de ne pas avoir répondu plus tot. Rapport de stage oblige !
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 16h58   #6
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
J'ai essayé de rajouter le "\n" dans ma date mais ça ne fonctionne pas.
Est ce que ça viendrait du fait que je l'écrive sous une concaténation de variable:
Code :
$jour.'/'.$mois.'\n'.$heure.':'.$minute
?

Merci
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 22h30   #7
Membre régulier
 
Avatar de ypcman
 
Homme Yves
Responsable en conduite du changement
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Yves
Localisation : France

Informations professionnelles :
Activité : Responsable en conduite du changement
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 73
Points : 73
tu peux voir un exemple dans la doc JpGraph : Figure 15.45. Using multiple line labels in a horizontal bar graph (horizbarex4.php)

Code :
1
2
3
4
// Setup labels
$lbl = array("Andrew\nTait","Thomas\nAnderssen","Kevin\nSpacey","Nick\nDavidsson",
"David\nLindquist","Jason\nTait","Lorin\nPersson");
$graph->xaxis->SetTickLabels($lbl);
ypcman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h03.


 
 
 
 
Partenaires

Hébergement Web