本文整理汇总了PHP中Graph::TranslatePosition方法的典型用法代码示例。如果您正苦于以下问题:PHP Graph::TranslatePosition方法的具体用法?PHP Graph::TranslatePosition怎么用?PHP Graph::TranslatePosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Graph
的用法示例。
在下文中一共展示了Graph::TranslatePosition方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DataLabelPosition
/**
* Overridden to prevent drawing on other bars
*/
public function DataLabelPosition($dataset, $index, &$item, $x, $y, $w, $h, $label_w, $label_h)
{
if (!is_numeric($dataset)) {
// doing this supports stacked grouped bar graph totals too
list($d) = explode('-', $dataset);
if ($d === 'totalpos') {
if (isset($this->last_position_pos[$index])) {
list($lpos, $l_h) = $this->last_position_pos[$index];
list($hpos, $vpos) = Graph::TranslatePosition($lpos);
if ($vpos == 'ot') {
return "above 0 -{$l_h}";
}
}
return 'above';
}
if ($d === 'totalneg') {
if (isset($this->last_position_neg[$index])) {
list($lpos, $l_h) = $this->last_position_neg[$index];
list($hpos, $vpos) = Graph::TranslatePosition($lpos);
if ($vpos == 'ob') {
return "below 0 {$l_h}";
}
}
return 'below';
}
}
$pos = parent::DataLabelPosition($dataset, $index, $item, $x, $y, $w, $h, $label_w, $label_h);
if ($label_h > $h && Graph::IsPositionInside($pos)) {
$pos = str_replace(array('top', 'bottom', 'above', 'below'), 'middle', $pos);
}
if ($item->value > 0) {
$this->last_position_pos[$index] = array($pos, $label_h);
} else {
$this->last_position_neg[$index] = array($pos, $label_h);
}
return $pos;
}
示例2: DataLabelPosition
/**
* Overridden to prevent drawing on other bars
*/
public function DataLabelPosition($dataset, $index, &$item, $x, $y, $w, $h, $label_w, $label_h)
{
if (!is_numeric($dataset)) {
if ($dataset === 'totalpos') {
if (isset($this->last_position_pos[$index])) {
list($lpos, $l_w) = $this->last_position_pos[$index];
list($hpos, $vpos) = Graph::TranslatePosition($lpos);
if ($hpos == 'or') {
return "middle outside right {$l_w} 0";
}
}
return 'outside right';
}
if ($dataset === 'totalneg') {
if (isset($this->last_position_neg[$index])) {
list($lpos, $l_w) = $this->last_position_neg[$index];
list($hpos, $vpos) = Graph::TranslatePosition($lpos);
if ($hpos == 'ol') {
return "middle outside left -{$l_w} 0";
}
}
return 'outside left';
}
}
if ($dataset === 'totalpos') {
return 'outside right';
}
if ($dataset === 'totalneg') {
return 'outside left';
}
$pos = parent::DataLabelPosition($dataset, $index, $item, $x, $y, $w, $h, $label_w, $label_h);
if ($label_w > $w && Graph::IsPositionInside($pos)) {
$pos = str_replace(array('outside left', 'outside right'), 'centre', $pos);
}
if ($item->value > 0) {
$this->last_position_pos[$index] = array($pos, $label_w);
} else {
$this->last_position_neg[$index] = array($pos, $label_w);
}
return $pos;
}
示例3: IsPositionInside
/**
* Returns TRUE if the position is inside the item
*/
public static function IsPositionInside($pos)
{
list($hpos, $vpos) = Graph::TranslatePosition($pos);
return strpos($hpos . $vpos, 'o') === FALSE;
}