Entwickler-Ecke
Sonstiges (Delphi) - Geldbeträge als Rechtecke darstellen (Statistik)
padawan - Do 20.01.11 23:12
Titel: Geldbeträge als Rechtecke darstellen (Statistik)
Hallo Delphi-Freunde!
Hab ne Rechenaufgabe(i schaffs net allein :cry: )
Ich möchte 8 Geldbeträge, statistisch mit 8 waagerecht verlaufenden Rechtecken, untereinander darstellen.
Die Beträge sind zB. 20,05 34,86 204,26 111,50 usw. -alles in Euro
in einem TImage(Image1.Width=500) zeichne ich die Rechtecke, klappt ja auch.
Mein Problem ist, für den größten Betrag(hier 204,26) den möglichst größten Wert für das Rechteck zu berechnen:
Mit dem richtigen Code könnte man das <array[1..8] of Real> doch per Schleife in Rechteckbreiten umwandeln.
Das breiteste Rechteck sollte möglichst groß sein, natürlich kleiner Image1.Width.
Die kleineren Beträge sollen ebenfalls zu Rechtecken werden, entspr. angepasst.
Ich konnte für eine Googlesuche keine vernünftigen Suchbegriffe finden.
DANKE im Voraus!!!
elundril - Do 20.01.11 23:22
Naja du sagst einfach die maximale breite is zb: 450 pixel.
Dann sind deine 204,26 Euro = 100% und demnach 450 pixel. Wieviel Prozent sind demnach 111,50 Euro? Einfach 111,50 durch 2,0426 und du hast die angabe wieviel prozent das sein müssen (2,0426 sind 204,26 durch 100). Das ergibt in dem Beispiel rund 54. Wenn du dann 450 * 0,54 rechnest, bekommst du die Breite des Balkens abhängig von der Maximalbreite, in deinem Fall 450. Die 0,54 sind einfach die 54 Prozent durch 100.
lg elundril
padawan - Do 20.01.11 23:34
Hallo elundril!
Na klar, Prozentrechnung ist hier wohl unumgänglich. Denke, ich verstehe die Vorgehensweise jetzt gut.
Ich will es gleich mal umsetzen. DANKE Dir!!!
padawan - Do 20.01.11 23:44
Wie kann ich am besten verfahren, wenn ein oder mehrere Beträge > Image.width sind??
elundril - Do 20.01.11 23:47
Steht auch oben drin. Der höchste Betrag (wurscht ob der jetzt mehr als image.width ist oder weniger) wird so groß wie image.width abzüglich einem konstanten wert. (der konstante wert ist nur dafür da damit das nicht so an die Kante gepickt aussieht)
Du kannst auch das ganze beispiel mal mit dem maximalwert 50 durchrechnen statt den 450 und bekommst noch immer nur Zahlen kleiner oder gleich image.width. (die 50 sind dann dein image.width-konstanter wert)
lg elundril
padawan - Do 20.01.11 23:56
Das kommt so selbstverständlich rüber.. Alle Achtung! Danke!!!
Xion - Fr 21.01.11 07:28
Da ich Unsinn geschrieben habe und aus dem Post doch noch was produktives machen möchte:
Wenn du viel mit Statistiken machst, kannst du dir mal TChart angucken. Ist zwar verbuggt beim einrichten, aber wenns mal läuft ist es ganz gut. Das macht solche Dinge automatisch, und kann auch Kuchendiagramme usw.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!