depuis les mises à jour de GD et de PHP 5, mes graphiques n'affichent plus les étiquettes de données correctement.
Il s'agit ici d'éléments de la bibliothèque GD, de Pear.
Voici mon bout de code
// create a Y data value marker
$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y);
// format value marker labels as percentage values
$Marker->setDataPreProcessor(Image_Graph::factory('Image_Graph_DataSelector_EveryNthPoint', $FreqEtiq));
$Marker->setDataPreProcessor(Image_Graph::factory('Image_Graph_DataPreprocessor_Formatted', '%0.1f'));
$Marker->setFontSize(7);
// create a pin-point marker type
$PointingMarker =& $Plotarea->addNew('Image_Graph_Marker_Pointing_Angular', array(20, &$Marker));
// and use the marker on the 1st plot
$Plot->setMarker($PointingMarker);
// var_dump($Marker);
Voici une partie des données à traiter (ramassées à partir du var_dump que vous lisez en fin de code:
Code : Tout sélectionner
["_data"]=> array(87) {
[0]=> array(4) { ["X"]=> int(0) ["Y"]=> int(0) ["ID"]=> bool(false) ["data"]=> bool(false) }
[1]=> array(4) { ["X"]=> float(0) ["Y"]=> float(0) ["ID"]=> bool(false) ["data"]=> bool(false) }
[2]=> array(4) { ["X"]=> float(0) ["Y"]=> float(0) ["ID"]=> bool(false) ["data"]=> bool(false) }
[3]=> array(4) { ["X"]=> float(1) ["Y"]=> float(-17) ["ID"]=> bool(false) ["data"]=> bool(false) }
[4]=> array(4) { ["X"]=> float(2) ["Y"]=> float(-30) ["ID"]=> bool(false) ["data"]=> bool(false) }
[5]=> array(4) { ["X"]=> float(3) ["Y"]=> float(-46) ["ID"]=> bool(false) ["data"]=> bool(false) }
[6]=> array(4) { ["X"]=> float(4) ["Y"]=> float(-63) ["ID"]=> bool(false) ["data"]=> bool(false) }
[7]=> array(4) { ["X"]=> float(5) ["Y"]=> float(-79) ["ID"]=> bool(false) ["data"]=> bool(false) }
[8]=> array(4) { ["X"]=> float(6) ["Y"]=> float(-86) ["ID"]=> bool(false) ["data"]=> bool(false) }
[9]=> array(4) { ["X"]=> float(7) ["Y"]=> float(-86) ["ID"]=> bool(false) ["data"]=> bool(false) }
[10]=> array(4) { ["X"]=> float(8) ["Y"]=> float(-85) ["ID"]=> bool(false) ["data"]=> bool(false) }
[11]=> array(4) { ["X"]=> float(9) ["Y"]=> float(-86) ["ID"]=> bool(false) ["data"]=> bool(false) }
[12]=> array(4) { ["X"]=> float(10) ["Y"]=> float(-86) ["ID"]=> bool(false) ["data"]=> bool(false) }
[13]=> array(4) { ["X"]=> float(11) ["Y"]=> float(-87) ["ID"]=> bool(false) ["data"]=> bool(false) }
[14]=> array(4) { ["X"]=> float(12) ["Y"]=> float(-84) ["ID"]=> bool(false) ["data"]=> bool(false) }
[15]=> array(4) { ["X"]=> float(13) ["Y"]=> float(-84) ["ID"]=> bool(false) ["data"]=> bool(false) }
[16]=> array(4) { ["X"]=> float(14) ["Y"]=> float(-83) ["ID"]=> bool(false) ["data"]=> bool(false) }
[17]=> array(4) { ["X"]=> float(15) ["Y"]=> float(-84) ["ID"]=> bool(false) ["data"]=> bool(false) }

Voyez, en haut à gauche, j'ai l'étiquette 0.0
Comment se fait-il donc que je n'aie pas les autres tandis que la valeur de $FreqEtiq est de 6 ?
J'ai essayé d'éliminer les plot de "l'escalier" (plan de plongée) et de la ligne jaune (Prof. moy.), bref de n'avoir qu'une couche de dessin: inutile.
J'ai changé toutes mes données de float à int: inutile
J'ai essayé de changer cette ligne
$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y);
pour $Marker =& $Plotarea->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y);
InutileJ'ai inscrit des messages de vérification dans les sous-routines et objets de Marker. Le serveur y passe, au moins une fois.
Un détail? un oubli ?
Merci de votre aide.