Statistik als Diagramm?

Ob du nun die Bilder vorher per Ftp hochläds oder Dynamisch erzeugst wird nix am verbrauchten Speicher ändern.(in dem fall wird der Speicherplatzverbrauch gleich groß sein).
Dein Ansatz war, auf die Skalierung im Browser zu verzichten. Das heißt, dass für jeden anzuzeigenden Balken ein Bild erzeugt werden muss. Jetzt sprichst du davon, dass nur ein einziges Bild erzeugt wird. Wie soll ich mir das vorstellen?
 
Da muß ich dir Wiedersprechen man kann genau so Bild-Datein erzeugen und diese dann Anzeigen lassen.Somit ist es nicht nötig jedes mal den Balken zu erzeugen.Soviel zum angeblichen Nachteil.
Dann erzähle mir mal wie Du einen mit der GD generierten Balken in der Breite verändern willst ohne ihn neu zu generieren. ;)

Wenn ich mir die Statistik so ansehe komme ich bei der max. täglichen Besucherzahl (752) darauf, dass sich die Grafik im Schnitt alle ca. 1,9 Minuten in der Breite ändert.
Die per GD generierte Grafik müsste also, egal ob sie nun temporär ausgegeben oder gespeichert wird, alle 1,9 Minuten (bzw. 752 mal pro Tag) erneuert und neu übertragen werden.

Natürlich kann man mit der GD auch viel mehr machen als nur einen schnöden Balken.
Aber einen Balken mit z.B. Farbverlauf hat man mit Photoshop (oder was auch immer) schneller realisiert als man ein entsprechendes PHP Script geschrieben hat.
Den fertigen Balken (braucht nur 1px breit sein) streckt man dann oder reiht in entprechend oft aneinander.
Ich sehe da kein Problem, auch nicht in der Qualität.

Ausserdem sei auch erwähnt dass serverlastige Scripte i.d.R. nicht gerne von den Webhostern gesehen werden.
Da der Balken auch mit einer statischen Grafik realisiert werden kann, könnte es also bei der GD-Variante evtl. schon Ärger geben.

OO = OOP (objektorientierte Programmierung)?
Da vergleichst Du nun aber Äpfel mit Birnen. ;)
 
Bild erzeugt werden muss. Jetzt sprichst du davon, dass nur ein einziges Bild erzeugt wird. Wie soll ich mir das vorstellen

Wenn man ein Bild mit mehren Balken erzeugen will.Dann kann man das mit hilfe der Gd angeben.

Anfang wählt man die Gesamtgröße des Bildes aus. Je nachdem wievele Balken man darin unter bringen will. Um es jetzt einfach zu machen nutz man den Rechteck befehl dort gibt man die eckpunkte an.(Anfang ,endpunkt unsw.) Danach wieder holt man den vorgang nur das man die Punkte unterhalb des ersten Rechteck Platziert. So fährt man das ganze fort jenach dem wieviel Balken man am Schluß haben will. Die Balken bzw(Rechtecke) kann man dann je nach Prozentzahl mit einer anderen Farben füllen.

Daraus ensteht dann ein Großes Bild mit mehren Balken die Unterschiedlich gefühlt sind.

Die gepostet Klasse war ja auch nur ein Ansatz dazu was man alles damit machen kann.
Oder soll ich jeden gleich immer alles vor Scripten. Sollte ja nur eine Hilfestellung sein und kein mach mir mal ein Script nach meinen Vorstellungen.

Mfg Splasch
 
Zuletzt bearbeitet:
puhh ich danke euch allen erste einmal also soll ich es am besten so machen wie du es gesagt hast SimonErich?
 
Den fertigen Balken (braucht nur 1px breit sein) streckt man dann oder reiht in entprechend oft aneinander.
Ich sehe da kein Problem, auch nicht in der Qualität

Also das will ich schon Sehen das du mit 1 px Bild einen Farbverlauf machen kannst.Dazu sind schon einige mehr Pixel notwendig ;)

OO = OOP (objektorientierte Programmierung)?
Da vergleichst Du nun aber Äpfel mit Birnen.

OO = Obejekt Orentierung
OOP= Obejekt Orentierte Programmierung

Die feinen aber kleinen Unterschiede machen es meisten aus.Um es mit deinen Worten zu sagen Du Stellst Äpfel gleich mit Brinen.

Mfg Splasch
 
Ach kommt. Streitet euch nicht. Ich denke wir reden aneinander vorbei.

@splasch der eine Pixel ist auf die Breite bezogen nicht auf die Höhe. Somit ist das Bild klein und sehr schnell geladen und kann ja als Hintergrundgrafik in einem Div eingebunden werden oder einfach in die Breite gezogen werden.

Wie gesagt ist dein Lösungsansatz natürlich nicht falsch, aber der Server hat weniger damit zu kämpfen, wenn er einfach nur die Zahlen ausrechnet und HTML den Browser und HTML die restliche Arbeit machen lässt, die sie ohnehin machen und zwar die breitenwerte nehmen und diese anzeigen.

Bei deiner Lösung muss jedesmal die GD Lib arbeiten und die ist nicht so schnell.
Ausserdem musst du genau wie bei meiner Lösung auch einen Einheitswert finden. Du nimmst halt den Prozentsatz.


@Mew. Ist dir meine Erklärung klar ?
Dann versuch es einfach mal und sonst melde dich nochmal :)
 
@SimonErich also ich habe z.B. Heute: 50 Besucher und eine Grafik die 1px hoch und 1px breit ist. Jetzt muss ich die 50/100 = 0,5
Jetzt muss ich die 1px * die 0,5 nehmen oder?
 
@Mew
Nicht ganz.
Stell dir einfach mal vor wie dein Balken aussehen soll.
Dann mach mal ein Bild davon in irgendeinem Programm.
Das Prinzip, welches wir hier verwenden, beruht darauf, dass wir einfach diesen Balken in der Breite strecken. :)
In der Höhe bleibt er immer gleich. (Ist ja bei einem Diagramm auch nicht anders)
Die 1px, von denen wir gesprochen haben, beziehen sich auf die Breite des Balkens.
Eigentlich könntest du ihn auch in der Breite belassen, wie du es willst nur ist es ohnehin egal, da dieser wieder gestreckt wird.
Und ein Bild mit den Maßen 23 x 1(Höhe x Breite) px ist kleiner als ein Bild mit den Maßen 23 x 150 px ;) und auch somit schneller geladen.


Der rest ist im Prinzip nur logisches Denken.
Ich mach es mal mit einem einfachen Beispiel.
Wenn ich weiß, dass 10 Äpfel 20 € kosten (teuere Äpfel ;) ), dann kann ich ausrechnen wie viel ein Apfel kostet (20/10 = 2).
Wenn ich weiß wie viel 1 Apfel kostet, kann ich auch leicht ausrechnen wie viel 4 Äpfel kosten. (4 * EinApfel = 4 * 2 = 8 €)

Das mit den Balken ist im Prinzip nichts anderes.

Den Preis für die 10 Äpfel bestimmen wir selbst, denn das ist dann der Längste Balken und wie lang der sein soll, bleibt dir überlassen.
 
aso ok ich nehme einfach mal als balken dieses bild: http://www.tutorials.de/forum/images/polls/bar3.gif

(hier rechts in der Umfrage der blaue Balken)

jetzt habe ich z.B. heute 20 besucher und gestern 80. Jetzt will ich diese beiden Tage mit einem balken darstellen.

Jetzt muss ich die 20 besucher durch 100 teilen oder? und die 80 auch oder?

Also: Heute (20): (imgage größe: ?)
Gestern(80) (image Größe: ?)
 
Zurück