Artichow is not show.



  • Bonjour,
    A travers ce post je vous demande si l'un d'entre vous utilise artichow pour la génération graphique sur firstheberg.
    Mon problème est qu'en local, le graphique est bien généré alors que EN ligne rien ne se passe. ….

    je recherche des personnes qui utilisent artichow pour m'aider à cerner mon souci.
    merci.


  • Administrateur

    On l'utilise pour les graphiques de la régie publicitaire, ça tourne bien sur nos serveurs.
    Tu as une erreur ou quelque chose ?



  • J'ai le même problème : aucun soucis en local, mais dès que l'on passe en ligne il n'y a plus rien !
    Et ceci même avec un graphique des plus minimaliste !

    http://www.telecampus.fr/dev/graph.php

    <?php
    require_once "artichow/LinePlot.class.php";
    
    $graph = new Graph(400, 400);
    
    $values = array(1, 2, 3, 4, 5);
    $plot = new LinePlot($values);
    
    $graph->add($plot);
    $graph->draw();
    ?>
    

    Y aurait-il un problème de configuration du serveur ?
    (perso, je suis sur NS11)


  • Administrateur

    Non, mais c'est un problème classique.
    A aucun moment tu n'indique au navigateur que tu va lui renvoyer un image de type .png :)
    Il faut gérer vos entêtes les gars !



  • humm.. merci pour la piste.. ces satanés header…. mais biensûr...

    je pensais que la classe s'en occupait elle même par l’intermédiaire de GD.

    Cela dit, pour aller au plus vite j'ai testé et bâtit mes graph avec pChart, et là zéro problèmes. Je vais rester dessus.

    Encore merci caaptusss (tu es sur tous les fronts dis moi!!)



  • Idem, j'utilise aussi pchart, que je trouve plus agréable que artichow, mais bon après, chacun son point de vue à ce propos :)



  • Mais bien sûr ! Merci caaptusss !

    Si y en a qui se posent toujours la question, il suffit de :

    header('Content-type: image/png');
    [...]
    imagepng($image); 
    

    Et si vous utilisez les fonctions de date, cette ligne peut s'avérer utile :

    date_default_timezone_set('Europe/Paris'); 
    

    Et sinon, merci Althalus pour pChart… je ne connaissais pas mais ça m'a l'air sympathique ! ^^ Je vais regarder ça de plus près !



  • Bonjour, j'ai exactement le même problème que vous. En local j'ai tous mes graphiques qui fonctionnent. Mais en ligne, aucun. Aucune erreur non plus. Quand je prends le code source, j'ai bien la balise image générée avec toutes les données passées en GET pour faire le graphisme, mais en ligne ça ne donne rien.

    Et je ne sais pas où mettre l'en-tête header('Content-type: image/png'); qui semble être la solution pour vous.

    Désolé si ça vous parait bête comme question.

    C'est dans les fichiers de création du graph? J'ai même tenté de mettre .png à la fin du src de la balise <img>. En vain.


  • Administrateur

    Quelle est l'adresse de votre script en ligne ?



  • La voici :

    http://www.league-evolution.com/champio … ligue1.php

    Il faut cocher entre une et 4 équipes, et un graphique doit être généré. Or il ne l'est pas.

    Et dans ma génération de graph, j'ai

    <?php
    /*
     * This work is hereby released into the Public Domain.
     * To view a copy of the public domain dedication,
     * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to
     * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
     *
     */
    
    require_once "Artichow-php5/LinePlot.class.php";
    
    $graph = new Graph(972, 500); // taille graphique
    $graph->setAntiAliasing(TRUE);
    
    $group = new PlotGroup;
    $group->grid->setType(Line::SOLID);// type de quadrillage (solid/dashed/dotted)
    
    $group->setPadding(30, NULL, 20, NULL); // marges internes
    
    $group->axis->left->setLabelNumber($_GET['nbEq']);
    $group->axis->left->setLabelPrecision(0);
    $group->axis->left->setTickStyle(Tick::OUT);
    
    // création des points etc...
    [....]
    
    	$group->axis->bottom->label->setCallbackFunction('setJournee');
    	$group->axis->left->label->setCallbackFunction('setPlace');
    
    	$group->legend->setPosition(0.45, 0.25);
    	$group->legend->shadow->smooth(TRUE);
    
    	$plot->yAxis->setLabelPrecision(0); // pour le nombre de graduations dans l'axe des ordonnées
    
    $graph->add($group);
    
    $graph->draw();
    
    ?>
    

  • Administrateur

    Ce n'est pas hébergé chez nous, il m'est impossible de vous aider.


Log in to reply