本文整理汇总了PHP中pData::getSeriesMax方法的典型用法代码示例。如果您正苦于以下问题:PHP pData::getSeriesMax方法的具体用法?PHP pData::getSeriesMax怎么用?PHP pData::getSeriesMax使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pData
的用法示例。
在下文中一共展示了pData::getSeriesMax方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: drawXYPlotGraph
/**
* @brief This function draw a plot graph in an X/Y space
*/
function drawXYPlotGraph(pData $DataSet, $YSerieName, $XSerieName, $PaletteID = 0, $BigRadius = 5, $SmallRadius = 2, Color $color2 = null, $Shadow = TRUE, $SizeSerieName = '')
{
$color = $this->palette->getColor($PaletteID);
$color3 = null;
$Data = $DataSet->getData();
foreach ($Data as $Values) {
if (isset($Values[$YSerieName]) && isset($Values[$XSerieName])) {
$X = $Values[$XSerieName];
$Y = $Values[$YSerieName];
$Y = $this->GArea_Y2 - ($Y - $this->VMin) * $this->DivisionRatio;
$X = $this->GArea_X1 + ($X - $this->VXMin) * $this->XDivisionRatio;
if (isset($Values[$SizeSerieName])) {
$br = $this->linearScale($Values[$SizeSerieName], $DataSet->getSeriesMin($SizeSerieName), $DataSet->getSeriesMax($SizeSerieName), $SmallRadius, $BigRadius);
$sr = $br;
} else {
$br = $BigRadius;
$sr = $SmallRadius;
}
if ($Shadow) {
if ($color3 != null) {
$this->canvas->drawFilledCircle(new Point($X + 2, $Y + 2), $br, $color3, $this->shadowProperties);
} else {
$color3 = $this->palette->getColor($PaletteID)->addRGBIncrement(-20);
$this->canvas->drawFilledCircle(new Point($X + 2, $Y + 2), $br, $color3, $this->shadowProperties);
}
}
$this->canvas->drawFilledCircle(new Point($X + 1, $Y + 1), $br, $color, $this->shadowProperties);
if ($color2 != null) {
$this->canvas->drawFilledCircle(new Point($X + 1, $Y + 1), $sr, $color2, $this->shadowProperties);
} else {
$color2 = $this->palette->getColor($PaletteID)->addRGBIncrement(20);
$this->canvas->drawFilledCircle(new Point($X + 1, $Y + 1), $sr, $color2, $this->shadowProperties);
}
}
}
}
示例2: drawXYScale
/**
* Compute and draw the scale for X/Y charts
*/
function drawXYScale(pData $Data, ScaleStyle $style, $YSerieName, $XSerieName, $Angle = 0, $Decimals = 1)
{
/* Validate the Data and DataDescription array */
$this->validateData("drawScale", $Data->getData());
$this->canvas->drawLine(new Point($this->GArea_X1, $this->GArea_Y1), new Point($this->GArea_X1, $this->GArea_Y2), $style->getColor(), $style->getLineWidth(), $style->getLineDotSize(), $this->shadowProperties);
$this->canvas->drawLine(new Point($this->GArea_X1, $this->GArea_Y2), new Point($this->GArea_X2, $this->GArea_Y2), $style->getColor(), $style->getLineWidth(), $style->getLineDotSize(), $this->shadowProperties);
/* Process Y scale */
if ($this->VMin == NULL && $this->VMax == NULL) {
$this->VMin = $Data->getSeriesMin($YSerieName);
$this->VMax = $Data->getSeriesMax($YSerieName);
/** @todo The use of ceil() here is questionable if all
* the values are much less than 1, AIUI */
$this->VMax = ceil($this->VMax);
$DataRange = $this->VMax - $this->VMin;
if ($DataRange == 0) {
$DataRange = 0.1;
}
self::computeAutomaticScaling($this->GArea_Y1, $this->GArea_Y2, $this->VMin, $this->VMax, $Divisions);
} else {
$Divisions = $this->Divisions;
}
$this->DivisionCount = $Divisions;
$DataRange = $this->VMax - $this->VMin;
if ($DataRange == 0) {
$DataRange = 0.1;
}
$this->DivisionHeight = ($this->GArea_Y2 - $this->GArea_Y1) / $Divisions;
$this->DivisionRatio = ($this->GArea_Y2 - $this->GArea_Y1) / $DataRange;
$YPos = $this->GArea_Y2;
$XMin = NULL;
for ($i = 1; $i <= $Divisions + 1; $i++) {
$this->canvas->drawLine(new Point($this->GArea_X1, $YPos), new Point($this->GArea_X1 - 5, $YPos), $style->getColor(), $style->getLineWidth(), $style->getLineDotSize(), $this->shadowProperties);
$Value = $this->VMin + ($i - 1) * (($this->VMax - $this->VMin) / $Divisions);
$Value = round($Value * pow(10, $Decimals)) / pow(10, $Decimals);
$Value = $this->convertValueForDisplay($Value, $Data->getDataDescription()->getYFormat(), $Data->getDataDescription()->getYUnit());
$Position = imageftbbox($this->FontSize, 0, $this->FontName, $Value);
$TextWidth = $Position[2] - $Position[0];
$this->canvas->drawText($this->FontSize, 0, new Point($this->GArea_X1 - 10 - $TextWidth, $YPos + $this->FontSize / 2), $style->getColor(), $this->FontName, $Value, $this->shadowProperties);
if ($XMin > $this->GArea_X1 - 10 - $TextWidth || $XMin == NULL) {
$XMin = $this->GArea_X1 - 10 - $TextWidth;
}
$YPos = $YPos - $this->DivisionHeight;
}
/* Process X scale */
if ($this->VXMin == NULL && $this->VXMax == NULL) {
$this->VXMax = $Data->getSeriesMax($XSerieName);
$this->VXMin = $Data->getSeriesMin($XSerieName);
$this->VXMax = ceil($this->VXMax);
$DataRange = $this->VMax - $this->VMin;
if ($DataRange == 0) {
$DataRange = 0.1;
}
/* Compute automatic scaling */
self::computeAutomaticScaling($this->GArea_X1, $this->GArea_X2, $this->VXMin, $this->VXMax, $XDivisions);
} else {
$XDivisions = $this->XDivisions;
}
$this->XDivisionCount = $Divisions;
$this->DataCount = $Divisions + 2;
$XDataRange = $this->VXMax - $this->VXMin;
if ($XDataRange == 0) {
$XDataRange = 0.1;
}
$this->DivisionWidth = ($this->GArea_X2 - $this->GArea_X1) / $XDivisions;
$this->XDivisionRatio = ($this->GArea_X2 - $this->GArea_X1) / $XDataRange;
$XPos = $this->GArea_X1;
$YMax = NULL;
for ($i = 1; $i <= $XDivisions + 1; $i++) {
$this->canvas->drawLine(new Point($XPos, $this->GArea_Y2), new Point($XPos, $this->GArea_Y2 + 5), $style->getColor(), $style->getLineWidth(), $style->getLineDotSize(), $this->shadowProperties);
$Value = $this->VXMin + ($i - 1) * (($this->VXMax - $this->VXMin) / $XDivisions);
$Value = round($Value * pow(10, $Decimals)) / pow(10, $Decimals);
$Value = $this->convertValueForDisplay($Value, $Data->getDataDescription()->getYFormat(), $Data->getDataDescription()->getYUnit());
$Position = imageftbbox($this->FontSize, $Angle, $this->FontName, $Value);
$TextWidth = abs($Position[2]) + abs($Position[0]);
$TextHeight = abs($Position[1]) + abs($Position[3]);
if ($Angle == 0) {
$YPos = $this->GArea_Y2 + 18;
$this->canvas->drawText($this->FontSize, $Angle, new Point(floor($XPos) - floor($TextWidth / 2), $YPos), $style->getColor(), $this->FontName, $Value, $this->shadowProperties);
} else {
$YPos = $this->GArea_Y2 + 10 + $TextHeight;
if ($Angle <= 90) {
$this->canvas->drawText($this->FontSize, $Angle, new Point(floor($XPos) - $TextWidth + 5, $YPos), $style->getColor(), $this->FontName, $Value, $this->shadowProperties);
} else {
$this->canvas->drawText($this->FontSize, $Angle, new Point(floor($XPos) + $TextWidth + 5, $YPos), $style->getColor(), $this->FontName, $Value, $this->shadowProperties);
}
}
if ($YMax < $YPos || $YMax == NULL) {
$YMax = $YPos;
}
$XPos = $XPos + $this->DivisionWidth;
}
/* Write the Y Axis caption if set */
if ($Data->getDataDescription()->getYAxisName() != '') {
$Position = imageftbbox($this->FontSize, 90, $this->FontName, $Data->getDataDescription()->getYAxisName());
$TextHeight = abs($Position[1]) + abs($Position[3]);
$TextTop = ($this->GArea_Y2 - $this->GArea_Y1) / 2 + $this->GArea_Y1 + $TextHeight / 2;
$this->canvas->drawText($this->FontSize, 90, new Point($XMin - $this->FontSize, $TextTop), $style->getColor(), $this->FontName, $Data->getDataDescription()->getYAxisName(), $this->shadowProperties);
//.........这里部分代码省略.........