Page 1 sur 2
insérer une ligne sur un graphique (résolu)
Posté : 18 mars 2014, 22:17
par Javier
Salut
J'essaie d'insérer une ligne verticale, représentant l'heure actuelle, sur un graphique:
http://kocher.es/graficos-highcharts/mareas.php
Le tableau de données est:
http://kocher.es/graficos-highcharts/tide.js
Le point de la ligne d'insertion doit être
l'heure actuelle (année, mois, jour, heure, minute).
Comment puis-je ajouter la ligne ?.
Salutations et merci beaucoup
Javier
Re: insérer une ligne sur un graphique
Posté : 19 mars 2014, 22:33
par Javier
J'ai étudié l'API Highcharts, mais parmi toutes les options, l'option pour insérer une ligne à l'heure actuelle n'apparaît pas.
http://api.highcharts.com/highcharts#Axis.addPlotLine
Je pense que ce serait quelque chose comme ce graphique:
http://www.boock.ch/meteo/graphiques_p ... e_jour.php
Re: insérer une ligne sur un graphique
Posté : 19 mars 2014, 22:51
par Météo Villarzel
Salut Javier,
pour afficher la date, tu dois d'abord la créer car elle n'existe pas dans ton fichier de données
Il faut créer la date en PHP et ensuite utiliser la variable pour ton Plotline
http://www.phpdebutant.org/article53.php
A+
Re: insérer une ligne sur un graphique
Posté : 20 mars 2014, 00:24
par Javier
Bonsoir Pierre-André
Je vous remercie de votre réponse.
Le code php suivant indique le jour et l'heure courant:
<?php
$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");
?>
mais comment je peux intégrer les variables $date et $heure dans Highcharts ?
Muchas gracias
Re: insérer une ligne sur un graphique
Posté : 21 mars 2014, 11:46
par Javier
Maintenant, j'ai la date et l'heure de la fonction php.
Pour insérer la ligne, je pense que je vais devoir faire quelque chose comme ceci:
Code : Tout sélectionner
xAxis: {
min: (new Date()).getTime(),
max: (new Date()).getTime() + 1 * 24 * 3600 * 1000,
plotLines: [{ // mark the current time
color: 'red',
width: 2,
value: Date.UTC($date,$heure),
dashStyle: 'longdashdot'
}],
},
Mais ne fonctionne pas:
http://kocher.es/graficos-highcharts/mareas_prueba.php
Re: insérer une ligne sur un graphique
Posté : 23 mars 2014, 00:02
par Météo Villarzel
Non, tu dois essayer de créer la date en PHP et ensuite la transformer en Json
par exemple pour le PHP
Puis en Json
Résultat : eval('var day = "22-03-2014 23:54"');
il faut trouver le bon format pour la date et l'heure et ensuite tu utilises "date" pour tracer ta ligne
Re: insérer une ligne sur un graphique
Posté : 23 mars 2014, 00:15
par Javier
Salut Pierre-André
Je viens de lire le message avec vos instructions.
Merci beaucoup pour la direction du problème
Je vais essayer maintenant
Muchas gracias
Bonne nuit
avier
Re: insérer une ligne sur un graphique
Posté : 23 mars 2014, 23:52
par Javier
La partie php fonctionne bien, et renvoie la date dans le format de mon graphique:
http://kocher.es/graficos-highcharts/mareas.php
Mais l'ajout de la nouvelle option sur l'axe des x, le graphique ne s'affiche pas:
http://kocher.es/graficos-highcharts/mareas_prueba.php
[code xAxis: {
plotLines: [{
color: '#FF0000',
width: 2,
value: date
}]
min: (new Date()).getTime(),
max: (new Date()).getTime() + 1 * 24 * 3600 * 1000,
},][/code]
Re: insérer une ligne sur un graphique
Posté : 24 mars 2014, 00:07
par Météo Villarzel
je n'ai toujours pas trouvé la solution
$day = date('Y,m,d,H', strtotime('-1 month'));
ça me renvoie le résultat suivant
eval('var ddate = "2014,02,24,00"');
j'ai mis -1mois car avec Highcharts
0= janvier
1= février
2= mars
.....
Mais il manque les []
J'ai aussi essayé en temps unix
résultat
eval('var ddate = 1395615871'); c'est aussi juste, mais il manque aussi les []
Je cherche encore, mais c'est galère le php quand on ne connaît pas
A+
Re: insérer une ligne sur un graphique
Posté : 24 mars 2014, 00:40
par Javier
Très reconnaissant pour votre intérêt et votre patience.
Je vais continuer à enquêter
Je vous souhaite une bonne semaine
Javier