Hmm, ok, glaube ich bin dem Problem jetzt auf der Spur.
Da muss irgendwas im Resize schieflaufen.
Folgendes:
11 Kategorien ==> schmale Grafik
10 Kategorien ==> memory exhausted
9 Kategorien ==> schmale Grafik
8 Kategorien ==> memory exhausted
7 Kategorien ==> schmale Grafik
6 Kategorien ==> schmale Grafik
5 Kategorien ==> schmale Grafik
4 Kategorien ==> memory exhausted
3 Kategorien ==> schmale Grafik
2 Kategorien ==> memory exhausted
Kann noch jemand meinen Code durchsehen, viele augen sehen mehr als 2. Kann ja nur sein dass die resize.php irgendwo ganz großen Mist zusammenbaut. Beispiels weise die Breite oder Höhe der Grafik unendlich hochbaut, obwohl ich mir das nicht vorstellen kann.
Wenn ich die resize rausnehme dann funktioniert gar nichts. Bzw. es kommt kein Response, was ich aber auch nicht verstehe da nur eine einzige Variable im resize wo anders weiterverwendet wird. Das ist $StateColums, um einzustellen wie viele Spalten die Legende hat, aber die habe ich definitv durch nen festen Wert ersetzt. Der Rest der Variablen der nicht im resize initialisiert wird, wird nur aus anderen Scripten geholt und weiterverwendet.
Weiß mittlerweile echt keinen Rat mehr. Hier nochmal der Code von der Resize:
PHP:
<?php
/*
* =========================================Lange Kategorien==============================================
* Automatische Anpassung der Größe des Graphen
* ausgehend von bestimmten Faktoren die sich negativ auf die Darstellbarkeit des Graphen auswirken
*/
/*
* Auslesen der einzelnen Zeichenanzahlen der einzelnen Strings
*/
for ($i = 0; $i <= $Multiplikator; $i++) {
$length[$i] = strlen($Kategorien[$i]);
}
if ($Multiplikator % 2 != 0) {
$zaehlen = 0;
for ($i = 0; $i <= $Multiplikator;) {
$comparedLength[$zaehlen] = $length[$i] + $length[$i+1];
$i = $i + 2;
$zaehlen++;
}
} else {
$zaehlen = 0;
$Multiplikator--;
for ($i = 0; $i <= $Multiplikator -1;) {
$comparedLength[$zaehlen] = $length[$i] + $length[$i+1];
$i = $i + 2;
$zaehlen++;
}
$Multiplikator++;
}
$lengthMax = Max($comparedLength);
if ($lengthMax <= 20) {
if ($Multiplikator % 3 != 0) {
$zaehlen = 0;
for ($i = 0; i <= $Multiplikator;) {
$comparedLength[$zaehlen] = $length[$i] + $length[$i+1] + $length[$i+2];
$i = $i+3;
$zaehlen++;
}
} else {
$zaehlen = 0;
$Multiplikator--;
for ($i = 0; $i <= $Multiplikator -1;) {
$comparedLength[$zaehlen] = $length[$i] + $length[$i+1] + $length[$i+2];
$i = $i+3;
$zaehlen++;
}
}
$lengthMax = max($comparedLength);
if ($lengthMax <= 25) {
$stateLength = 1;
$StateColums = 3;
} else {
if ($lengthMax <= 30) {
$stateLength = 2;
$StateColums = 3;
} else {
if ($lengthMax <= 35) {
$stateLength = 3;
$StateColums = 3;
} else {
$stateLength = 4;
$StateColums = 3;
}
}
}
} else {
if ($lengthMax <= 25) {
$stateLength = 1;
$StateColums = 2;
} else {
if (lengthMax <= 30) {
$stateLength = 2;
$StateColums = 2;
} else {
if ($lengthMax <= 35) {
$stateLength = 3;
$StateColums = 2;
} else {
$stateLength = 4;
$StateColums = 2;
}
}
}
}
if ($StateColums == 2) {
switch ($stateLength) {
case 1:
$GraphBreite += 10;
break;
case 2:
$GraphBreite += 30;
break;
case 3:
$GraphBreite += 40;
break;
case 4:
$GraphBreite += 50;
break;
}
} else {
switch ($StateColums) {
case 1:
$GraphBreite += 10;
break;
case 2:
$GraphBreite += 30;
break;
case 3:
$GraphBreite += 40;
break;
case 4:
$GraphBreite += 50;
break;
}
}
//Ende
//Viele Kategorien
if ($Multiplikator <= 4) {
//nothing happens
} else {
if ($Multiplikator <= 6) {
//Höhe verändern, und alles was dazu gehört
$GraphHoehe += 15;
} else {
if ($Multiplikator <= 8) {
//Höhe verändern und alles was dazu gehört
$GraphHoehe += 35;
} else {
if ($Multiplikator <= 10) {
//Höhe verändern und alles was dazu gehört
$GraphHoehe += 50;
$CenterY -= 0.05;
} else {
//Höhe verändern und alles was dazu gehört
if ($stateLength == 1) {
$GraphHoehe += 40;
} else {
$GraphHoehe += 100;
}
}
}
}
}
//Ende
//Lange Werte
switch ($Dezimalstellen) {
case "%d" :
$DecLength = 0;
break;
case "%0.1f" :
$DecLength = 1;
break;
case "%0.2f" :
$DecLength = 2;
break;
case "%0.3f" :
$DecLength = 3;
break;
}
for ($i = 0; $i < $Multiplikator; $i++) {
$ValLength[$i] = strlen($Werte[$i]) + $DecLength;
}
$ValLengthMax = max($ValLength);
if ($ValLengthMax <= 6) {
//do something
$GraphBreite += 10;
} else {
if ($ValLengthMax <= 8) {
//do something
$GraphBreite += 25;
} else {
if ($ValLengthMax <= 10) {
//do something
$GraphBreite += 45;
} else {
if ($ValLengthMax <= 12) {
//do something
$GraphBreite += 25;
} else {
$GraphBreite += 30;
}
}
}
}
?>