protected function getResultText(SMWQueryResult $res, $outputmode) { $this->isHTML = true; $t = ""; $n = ""; // if there is only one column in the results then stop right away if ($res->getColumnCount() == 1) { return ""; } // print all result rows $first = true; $max = 0; // the biggest value. needed for scaling while ($row = $res->getNext()) { $name = $row[0]->getNextDataValue()->getShortWikiText(); foreach ($row as $field) { while (($object = $field->getNextDataValue()) !== false) { // use numeric sortkey if ($object->isNumeric()) { $nr = $object->getDataItem()->getSortKey(); $max = max($max, $nr); if ($first) { $first = false; $t .= $nr; $n = $name; } else { $t = $nr . ',' . $t; $n = $name . '|' . $n; } } } } } return '<img src="http://chart.apis.google.com/chart?cht=p3&chs=' . $this->m_width . 'x' . $this->m_height . '&chds=0,' . $max . '&chd=t:' . $t . '&chl=' . $n . '" width="' . $this->m_width . '" height="' . $this->m_height . '" />'; }
protected function getResultText( SMWQueryResult $res, $outputmode ) { $this->isHTML = true; $t = ""; $n = ""; // if there is only one column in the results then stop right away if ($res->getColumnCount() == 1) return ""; // print all result rows $first = true; $count = 0; // How many bars will they be? Needed to calculate the height of the image $max = 0; // the biggest value. needed for scaling while ( $row = $res->getNext() ) { $name = $row[0]->getNextDataValue()->getShortWikiText(); foreach ( $row as $field ) { while ( ( $object = $field->getNextDataValue() ) !== false ) { // use numeric sortkey if ( $object->isNumeric() ) { $nr = $object->getDataItem()->getSortKey(); $count++; $max = max( $max, $nr ); if ( $first ) { $first = false; $t .= $nr; $n = $name; } else { $t = $nr . ',' . $t; $n .= '|' . $name; // yes, this is correct, it needs to be the other way } } } } } $barwidth = 20; // width of each bar $bardistance = 4; // distance between two bars $height = $count * ( $barwidth + $bardistance ) + 15; // calculates the height of the image return '<img src="http://chart.apis.google.com/chart?cht=bhs&chbh=' . $barwidth . ',' . $bardistance . '&chs=' . $this->m_width . 'x' . $height . '&chds=0,' . $max . '&chd=t:' . $t . '&chxt=y&chxl=0:|' . $n . '" width="' . $this->m_width . '" height="' . $height . '" />'; }