Auswertung grafisch darstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auswertung grafisch darstellen

    Hi!

    Ich will die Auswertung eines Fragebogens grafisch darstellen.
    Am besten in Form eines Säulendiagramms. Kann mir jemand sagen, wie ich soetwas lösen kann?
    Gibt es da schon fertige Klassen oder Funktionen?

    Danke!
    cu tj99de
    Of all things I've lost
    I miss my mind the most

  • #2
    Etwas in der Art habe ich kürzlich gemacht... Es ist ein horizontaler Balken, der zwei Werte entgegennimmt und das ganze dann darstellt (keine Angst, die ganzen langen Zeilen sind nur Checks, die dafür sorgen, dass die Defaultwerte eingesetzt werden, wenn sie nicht als Parameter übergeben werden):

    <?php

    # beispielwerte #
    $anz1 = 30;
    $anz2 = 90;
    # /beispielwerte #

    ###### GRAPHICAL MODE #####
    $default_imgwidth = 200;
    $default_imgheight = 20;
    $default_r1 = 180;
    $default_g1 = 0;
    $default_b1 = 0;
    $default_r2 = 0;
    $default_g2 = 140;
    $default_b2 = 0;

    # unwichtig #
    $imgwidth = ((isset($HTTP_GET_VARS['imgwidth']) && $HTTP_GET_VARS['imgwidth']<400) ? $HTTP_GET_VARS['imgwidth'] : $default_imgwidth);
    $imgheight = ((isset($HTTP_GET_VARS['imgheight']) && $HTTP_GET_VARS['imgheight']<100) ? $HTTP_GET_VARS['imgheight'] : $default_imgheight);
    $r1 = ((isset($HTTP_GET_VARS['r1']) && $HTTP_GET_VARS['r1']<256) ? $HTTP_GET_VARS['r1'] : $default_r1);
    $g1 = ((isset($HTTP_GET_VARS['g1']) && $HTTP_GET_VARS['g1']<256) ? $HTTP_GET_VARS['g1'] : $default_g1);
    $b1 = ((isset($HTTP_GET_VARS['b1']) && $HTTP_GET_VARS['b1']<256) ? $HTTP_GET_VARS['b1'] : $default_b1);
    $r2 = ((isset($HTTP_GET_VARS['r2']) && $HTTP_GET_VARS['r2']<256) ? $HTTP_GET_VARS['r2'] : $default_r2);
    $g2 = ((isset($HTTP_GET_VARS['g2']) && $HTTP_GET_VARS['g2']<256) ? $HTTP_GET_VARS['g2'] : $default_g2);
    $b2 = ((isset($HTTP_GET_VARS['b2']) && $HTTP_GET_VARS['b2']<256) ? $HTTP_GET_VARS['b2'] : $default_b2);
    # /unwichtig

    $perc1gr = round(($anz1/($anz1+$anz2)*$imgwidth));
    $perc2gr = round(($anz2/($anz1+$anz2)*$imgwidth));

    header('Content-type: image/png');
    $im = ImageCreate($imgwidth, $imgheight);
    $background_color = ImageColorAllocate($im, 0, 0, 0);
    $color1 = ImageColorAllocate ($im, $r1, $g1, $b1);
    $color2 = ImageColorAllocate ($im, $r2, $g2, $b2);
    ImageFilledRectangle($im, 0, 0, $perc1gr, $imgheight, $color1);
    ImageFilledRectangle($im, $perc1gr, 0, $imgwidth, $imgheight, $color2);
    ImagePNG($im);
    ?>

    Ich hoffe, das hilft dir weiter.

    CAT Music Files

    Kommentar


    • #3
      http://www.aditus.nu/jpgraph/index.php damit hast du alles was man/frau so braucht.

      cu
      berni

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        oder hier http://www.phplot.com/

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          oder einfach Einpixel-PNGs per width/height-Angaben im img-Tag aufziehen
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Hi!

            Ich hab den Code von Sky als Vorlage genommen.
            Habe jetzt aber das Problem, daß ich nur Bilder ausgeben kann. Der HTML-Code wird ignoriert.
            Das liegt bestimmt an
            header ('Content-type: image/png');
            Was muß ich für den Content-type angeben, damit auch HTML-code verarbeitet wird?

            Danke!
            cu tj99de
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              Header für HTML ist
              "Content Type : text/html"

              also ==>

              <?
              header("Content Type : image/png");
              header("Content Type : text/html");
              ?>

              siehe hier

              phreak
              If something's HARD to do,

              then it's not worth doing.
              (Homer J. (Jay) Simpson)

              Kommentar


              • #8
                Das klappt so nich
                Dann werden die PNGs nich dargestellt.
                Of all things I've lost
                I miss my mind the most

                Kommentar

                Lädt...
                X