Beste Tweak(st)ers,
Ik ben sinds afgelopen week werkzaam bij een bedrijf in dordrecht wat webapplicaties maakt. Omdat ik me verveelde ben ik begonnen aan een class in PHP5 die grafieken gaat bouwen. Mijn eerste versie zal alleen lijn grafieken tekenen maar ik ben van plan om in de toekomst ook subclasses voor diagrammen enzo te maken. Ik was ijverig begonnen, en was naar een tijdje zo slordig aan het programeren dat ik het ene gat vulde met het andere, toen had ik dus ook een verhoudings probleem. Ik werd er niet goed van en begon helemaal opnieuw met een strakkere indeling, betere comments etc in de hoop dat ik niet weer tegen hetzelfde probleem zou aanlopen, maar helaas heb exact hetzelfde probleem.
Ik zit er al 3 dagen mee en paar mensen hebben me al proberen te helpen maar ik kom er maar niet uit, overigens is mijn wiskunde ook niet super goed dus dat is een mede oorzaak. Maargoed eerst zal ik jullie laten zien waar ik mee bezig ben.
Source code
omdat me bericht te lang was ga naar het volgende adres:
http://www.scootxtreme.nl/lib/hostees/kees/source.phps
Oke ik dacht hiermee ga ik het probleem oplossen.
$this->size (array 0,1) geeft de totale groote aan van het plaatje welke:
700 bij 500 zijn.
Oke, de grote van de grafiek is $this->GraphBoxResolution (array 0,1)
653 bij 433
Nu gaan we kijken, of hij de $this->GridSpace goed uitrekent wat blijkt te kloppen:
gridspace afgerond = 72
aantal grids + 1 = 6
(de +1 omdat ik dus niet wilt dat de lijn van de grafiek stopt aan de bovenkant van de grafiek)
aantalgrid * 72 = 432, klopt dus.
Oke toen dacht ik dan ligt het aan de margins, $this->GraphBoxDistance (array left,top,bottom, right=0)
Dus we doen:
653 + left(47) = 700
433 + (bottom(40) + top(27)) = 500
Dat klopt dus ook al, dus ik werd er echt gek van haha, wat is er nu in godsnaam mis, een goede vriend van me robin hielp me en probeerde het met een afwijkings verschil op te lossen:
Toen bleek het bijna te kloppen, maar ik vondt het onlogisch ik wil niet het ene gat vullen met het ander omdat volgens mij de afwijking dan groter wordt bij grotere resoluties enzo dus dan klopt het al niet meer lijkt mij.
Vraag?
Maargoed mijn uiteindelijke vraag is, weet iemand in godsnaam nou wat ik fout doe, of niet goed fout uitreken, of weet iemand misschien een methode hoe ik het beter kan doen?
Of weet iemand me goed opweg te helpen met goede artikelen o.i.d.?
alvast ERG bedankt!
Download hier een .rar bestand met de source + font's om het e.v.t op je eigen server te testen.
Ik ben sinds afgelopen week werkzaam bij een bedrijf in dordrecht wat webapplicaties maakt. Omdat ik me verveelde ben ik begonnen aan een class in PHP5 die grafieken gaat bouwen. Mijn eerste versie zal alleen lijn grafieken tekenen maar ik ben van plan om in de toekomst ook subclasses voor diagrammen enzo te maken. Ik was ijverig begonnen, en was naar een tijdje zo slordig aan het programeren dat ik het ene gat vulde met het andere, toen had ik dus ook een verhoudings probleem. Ik werd er niet goed van en begon helemaal opnieuw met een strakkere indeling, betere comments etc in de hoop dat ik niet weer tegen hetzelfde probleem zou aanlopen, maar helaas heb exact hetzelfde probleem.
Ik zit er al 3 dagen mee en paar mensen hebben me al proberen te helpen maar ik kom er maar niet uit, overigens is mijn wiskunde ook niet super goed dus dat is een mede oorzaak. Maargoed eerst zal ik jullie laten zien waar ik mee bezig ben.
Source code
omdat me bericht te lang was ga naar het volgende adres:
http://www.scootxtreme.nl/lib/hostees/kees/source.phps
Oke ik dacht hiermee ga ik het probleem oplossen.
$this->size (array 0,1) geeft de totale groote aan van het plaatje welke:
700 bij 500 zijn.
Oke, de grote van de grafiek is $this->GraphBoxResolution (array 0,1)
653 bij 433
Nu gaan we kijken, of hij de $this->GridSpace goed uitrekent wat blijkt te kloppen:
gridspace afgerond = 72
aantal grids + 1 = 6
(de +1 omdat ik dus niet wilt dat de lijn van de grafiek stopt aan de bovenkant van de grafiek)
aantalgrid * 72 = 432, klopt dus.
Oke toen dacht ik dan ligt het aan de margins, $this->GraphBoxDistance (array left,top,bottom, right=0)
Dus we doen:
653 + left(47) = 700
433 + (bottom(40) + top(27)) = 500
Dat klopt dus ook al, dus ik werd er echt gek van haha, wat is er nu in godsnaam mis, een goede vriend van me robin hielp me en probeerde het met een afwijkings verschil op te lossen:
PHP:
1
| $this->GridSpace = $this->GraphBoxResolution[1]/($this->num_grids+1+($this->num_grids/10)); |
Toen bleek het bijna te kloppen, maar ik vondt het onlogisch ik wil niet het ene gat vullen met het ander omdat volgens mij de afwijking dan groter wordt bij grotere resoluties enzo dus dan klopt het al niet meer lijkt mij.
Vraag?
Maargoed mijn uiteindelijke vraag is, weet iemand in godsnaam nou wat ik fout doe, of niet goed fout uitreken, of weet iemand misschien een methode hoe ik het beter kan doen?
Of weet iemand me goed opweg te helpen met goede artikelen o.i.d.?
alvast ERG bedankt!
Download hier een .rar bestand met de source + font's om het e.v.t op je eigen server te testen.
