本文整理汇总了PHP中Axis::_updateCoords方法的典型用法代码示例。如果您正苦于以下问题:PHP Axis::_updateCoords方法的具体用法?PHP Axis::_updateCoords怎么用?PHP Axis::_updateCoords使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Axis
的用法示例。
在下文中一共展示了Axis::_updateCoords方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: foreach
/**
* Update coordinates
*
* @access private
*/
function _updateCoords()
{
if (is_array($this->_elements)) {
$keys = array_keys($this->_elements);
foreach ($keys as $key) {
$element =& $this->_elements[$key];
if (is_a($element, 'Image_Graph_Plot')) {
if ((is_a($element, 'Image_Graph_Plot_Bar') || is_a($element, 'Image_Graph_Plot_Step') || is_a($element, 'Image_Graph_Plot_Dot') || is_a($element, 'Image_Graph_Plot_CandleStick') || is_a($element, 'Image_Graph_Plot_BoxWhisker') || is_a($element, 'Image_Graph_Plot_Impulse')) && $this->_axisX != null) {
$this->_axisX->_pushValues();
}
$this->_setExtrema($element);
}
}
unset($keys);
}
$this->_calcEdges();
$pctWidth = (int) ($this->width() * 0.05);
$pctHeight = (int) ($this->height() * 0.05);
$left = $this->_left + $this->_padding;
$top = $this->_top + $this->_padding;
$right = $this->_right - $this->_padding;
$bottom = $this->_bottom - $this->_padding;
// temporary place holder for axis point calculations
$axisPoints['x'] = array($left, $top, $right, $bottom);
$axisPoints['y'] = $axisPoints['x'];
$axisPoints['y2'] = $axisPoints['x'];
if ($this->_axisX !== null) {
$intersectX = $this->_axisX->_getAxisIntersection();
$sizeX = $this->_axisX->_size();
$this->_axisX->_setCoords($left, $top, $right, $bottom);
$this->_axisX->_updateCoords();
}
if ($this->_axisY !== null) {
$intersectY = $this->_axisY->_getAxisIntersection();
$sizeY = $this->_axisY->_size();
$this->_axisY->_setCoords($left, $top, $right, $bottom);
$this->_axisY->_updateCoords();
}
if ($this->_axisYSecondary !== null) {
$intersectYsec = $this->_axisYSecondary->_getAxisIntersection();
$sizeYsec = $this->_axisYSecondary->_size();
$this->_axisYSecondary->_setCoords($left, $top, $right, $bottom);
$this->_axisYSecondary->_updateCoords();
}
$axisCoordAdd = array('left' => 0, 'right' => 0, 'top' => 0, 'bottom' => 0);
if ($this->_axisY != null) {
if ($this->_axisX != null) {
$pos = $this->_axisX->_intersectPoint($intersectY['value']);
} else {
$pos = $this->_horizontal ? $bottom : $left;
}
if ($this->_horizontal) {
if ($pos + $sizeY > $bottom) {
$axisCoordAdd['bottom'] = $pos + $sizeY - $bottom;
// the y-axis position needs to be recalculated!
} else {
// top & bottom may need to be adjusted when the x-axis has been
// calculated!
$this->_axisY->_setCoords($left, $pos, $right, $pos + $sizeY);
$this->_axisY->_updateCoords();
}
} else {
if ($pos - $sizeY < $left) {
$axisCoordAdd['left'] = $left - ($pos - $sizeY);
// the y-axis position needs to be recalculated!
} else {
// top & bottom may need to be adjusted when the x-axis has been
// calculated!
$this->_axisY->_setCoords($pos - $sizeY, $top, $pos, $bottom);
$this->_axisY->_updateCoords();
}
}
}
if ($this->_axisYSecondary != null) {
if ($this->_axisX != null) {
$pos = $this->_axisX->_intersectPoint($intersectYsec['value']);
} else {
$pos = $this->_horizontal ? $top : $right;
}
if ($this->_horizontal) {
if ($pos - $sizeYsec < $top) {
$axisCoordAdd['top'] = $top - ($pos - $sizeYsec);
// the secondary y-axis position need to be recalculated
} else {
// top & bottom may need to be adjusted when the x-axis has been
// calculated!
$this->_axisYSecondary->_setCoords($left, $pos - $sizeY, $right, $pos);
$this->_axisYSecondary->_updateCoords();
}
} else {
if ($pos + $sizeYsec > $right) {
$axisCoordAdd['right'] = $pos + $sizeYsec - $right;
// the secondary y-axis position need to be recalculated
} else {
// top & bottom may need to be adjusted when the x-axis has been
//.........这里部分代码省略.........