update20130718

This commit is contained in:
stubbfel
2013-07-18 21:19:08 +02:00
parent f1dc9a54c8
commit 2bc4a3e89a
4 changed files with 67 additions and 7 deletions

View File

@@ -52,7 +52,7 @@ class View {
}
private function calcPeerClusterRatio() {
$this->peerClusterRatioRef = round($this->peerCount / $this->clusterCount,5);
$this->peerClusterRatioRef = round($this->peerCount / $this->clusterCount, 5);
$variance = 0.0;
$medianArray = array();
foreach ($this->clusterList as $value) {
@@ -62,13 +62,13 @@ class View {
}
$variance /= $this->peerCount;
$this->peerClusterRatioNormVar = round($variance,5);
$this->peerClusterRatioNormStDev = round(sqrt($variance),5);
$this->peerClusterRatioNormVar = round($variance, 5);
$this->peerClusterRatioNormStDev = round(sqrt($variance), 5);
asort($medianArray);
$medianArraySize = count($medianArray);
$medianMidIndex = round(($medianArraySize - 1) / 2,0,PHP_ROUND_HALF_DOWN);
$medianMidIndex = round(($medianArraySize - 1) / 2, 0, PHP_ROUND_HALF_DOWN);
if ($medianArraySize % 2 == 0) {
$this->peerClusterRatioNormMed = ($medianArray[$medianMidIndex] + $medianArray[$medianMidIndex + 1]) / 2;
} else {
@@ -94,10 +94,57 @@ class View {
$table .= "<tr><td>ClusterListe:</td> <td colspan=\"7\">";
$table .= $this->clusterListToHTML();
$table .= "</td></tr>";
$table .= "<tr><td colspan=\"8\">";
$table .= $this->toSVG();
$table .= "</td></tr>";
$table .= "</table>";
return $table;
}
}
public function toSVG() {
$svg = '<svg xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" xmlns:ev = "http://www.w3.org/2001/xml-events" version = "1.1" baseProfile = "full" width="100%" height="350">';
$svg .= $this->createClusterSVG();
//$svg .= '<circle cx = "110" cy = "110" r = "10" fill = "full" />';
//$svg .= '<circle cx = "410" cy = "110" r = "100" stroke = "#4e9a06" stroke-width = "4" fill = "none" />';
//$svg .= '<circle cx = "410" cy = "110" r = "10" fill = "full" />';
//$svg .= '<line x1 = "110" y1 = "110" x2 = "410" y2 = "110" style = "stroke:rgb(255,0,0);stroke-width:2"/>';
$svg .= '</svg >';
return $svg;
}
public function createClusterSVG() {
$midX = 160;
$midY = 160;
$svg = "";
foreach ($this->clusterList as $value) {
$clSize = $value->clusterSize;
$r = $clSize * 15;
$strokebg = "gray";
if (strcmp($value->bgColor,"white") != 0) {
$strokebg = $value->bgColor;
}
$svg .= '<circle cx = "' . $midX . '" cy = "' . $midY . '" r = "' . $r . '" stroke = "'.$strokebg.'" stroke-width = "4" fill = "none" />';
$svg .= $this->fillPoints($midX, $midY, $clSize, $r);
$midX += 2.5 * $r;
}
return $svg;
}
public function fillPoints($midX, $midY, $count, $r) {
$startX = $midX - $r;
$endX = $midX + $r;
$startY = $midY - $r;
$endY = $midY + $r;
$midXT = $startX + 15;
$midYT = $midY;
$svg = "";
for ($i = 0; $i < $count; $i++) {
$svg .= '<circle cx = "' . $midXT . '" cy = "' . $midYT . '" r = "10" fill = "full" />';
$midXT += 30;
}
return $svg;
}
}
?>