Dr. No: Säulendiagramm

Hallo,
ich würde gerne bei einem Voting ein Säulendiagramm zeichnen lassen. Die Daten befinden sich in verschiedenen Text-Dateien. Wie kann ich jetzt ein Säulendiagramm mit Javascript automatisch zeichnen lassen?
Dr. No

  1. Hi,

    ich würde gerne bei einem Voting ein Säulendiagramm zeichnen lassen. Die Daten befinden sich in verschiedenen Text-Dateien.

    also musst du zuerst an diese Daten drankommen. Es bietet sich an, die Textdateien per AJAX vom Server anzufordern. Theoretisch kannst du sie auch in ein (unsichtbares) iframe-Element laden und von dort auslesen; das ist aber höchstens die zweitbeste Lösung.

    Wie kann ich jetzt ein Säulendiagramm mit Javascript automatisch zeichnen lassen?

    Wenn du die gelieferten Daten dann passend aufbereitet hast (nur du weißt, wie deine Daten formatiert, codiert und gespeichert sind), würde ich die Säulen einfach als div-Elemente realisieren, deren Höhe oder Breite ich entsprechend einstelle. Das geht mit Javascript recht einfach durch Setzen der CSS-Eigenschaft height oder width im style-Objekt des jeweiligen Elements.

    So long,
     Martin

    --
    Um die Wahrheit zu erfahren, muss man den Menschen widersprechen.
      (George Bernhard Shaw)
    1. Gibt es denn eine bessere möglichkeit die Daten auf dem Server zu speichern, als in einer Text-Datei?

      1. Lieber Dr. No,

        Gibt es denn eine bessere möglichkeit die Daten auf dem Server zu speichern, als in einer Text-Datei?

        definiere "besser". Ich würde behaupten "zweckgemäßer" ist hier das wesentliche Kriterium.

        Für ganz einfache und von der Datenmenge her überschaubare Dinge ist das Speichern in einer geeigneten Textdatei (alias "Flatfile") das zweckmäßigste Vorgehen. Erst bei komplexeren Datenbeständen, die dann auch gleich vom Volumen her in größere Dimensionen gehen, ist es zweckmäßiger, ein Datenbanksystem (z.B. MySQL) einzusetzen.

        Für Dein Voting ist eine Textdatei meiner Meinung nach ideal.

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      2. @@Dr. No:

        Gibt es denn eine bessere möglichkeit die Daten auf dem Server zu speichern, als in einer Text-Datei?

        XML wäre eine Überlegung wert.

        Daraus könnte man serverseitig mittels XSLT sowohl ein HTML-Dokument generieren, das die Daten tabellarisch ausgibt, als auch ein SVG-Dokument (oder auch eine Pixelgrafik), das die Daten grafisch als Säulendiagramm oder was auch immer darstellt.

        Live long and prosper,
        Gunnar

        --
        Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
    2. Vielen Dank für die Antwort!

      Hi,

      ich würde gerne bei einem Voting ein Säulendiagramm zeichnen lassen. Die Daten befinden sich in verschiedenen Text-Dateien.

      also musst du zuerst an diese Daten drankommen. Es bietet sich an, die Textdateien per AJAX vom Server anzufordern. Theoretisch kannst du sie auch in ein (unsichtbares) iframe-Element laden und von dort auslesen; das ist aber höchstens die zweitbeste Lösung.

      Wie kann ich jetzt ein Säulendiagramm mit Javascript automatisch zeichnen lassen?

      Wenn du die gelieferten Daten dann passend aufbereitet hast (nur du weißt, wie deine Daten formatiert, codiert und gespeichert sind), würde ich die Säulen einfach als div-Elemente realisieren, deren Höhe oder Breite ich entsprechend einstelle. Das geht mit Javascript recht einfach durch Setzen der CSS-Eigenschaft height oder width im style-Objekt des jeweiligen Elements.

      So long,
      Martin

  2. Lieber Dr. No,

    ich würde gerne bei einem Voting ein Säulendiagramm zeichnen lassen.

    warum ausgerechnet in JavaScript? Bei einem Voting wirst Du doch sicherlich eine serverseitige Technologie einsetzen, um die bereits abgegebenen Stimmen zu speichern. Warum dann nicht auch diese Technologie benutzen, um das Ergebnis anzuzeigen? JavaScript ist immer nur optional!

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  3. Hallo,

    Hallo,
    ich würde gerne bei einem Voting ein Säulendiagramm zeichnen lassen. Die Daten befinden sich in verschiedenen Text-Dateien. Wie kann ich jetzt ein Säulendiagramm mit Javascript automatisch zeichnen lassen?

    Wenn Du faul bist, liest Du die Textdateien ein und bastelst daraus einen Link für die Google Charts API. Eleganter wäre natürlich eine eigene Lösung in HTML oder wenn man man auf den IE keine Rücksicht nehmen muss in <canvas> oder SVG.

    Tim