Речь идёт о последней версии 2.1.3, но метод настолько прост, что не должно возникнуть проблем и в более старых версиях.
Итак, допустим, нам нужно нарисовать геометрическую фигуру поверх графика (к примеру, с помощью drawRectangle) или подписать отдельную точку графика (drawText). Для этого нам нужны пиксельные координаты точек (PixelOffset). Получаем их примитивнейшим способом.
Открываем класс pDraw (classes/pDraw.php). Находим метод класса, который отрисовывает наш график (у меня это drawPlotChart). В начале добавляем строчку:
$PixelOffsetCoordinates = array();
Далее спускаемся чуть ниже, находим строку:
if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
{
Внутри фигурной скобки добавляем:
$PixelOffsetCoordinates[$SerieName]=array();
Далее, после строчки
foreach($PosArray as $Key => $Y)
{
Вставляем:
$PixelOffsetCoordinates[$SerieName][$Key]=array($X,$Y);
И ещё раз вставляем эту же строку чуть ниже, после
foreach($PosArray as $Key => $X)
{
Остаётся только вернуть полученные значения. Перед последней фигурной скобкой, закрывающей метод, вставляем:
return $PixelOffsetCoordinates;
Всё. Теперь наш метод $myPicture->drawPlotChart() возвращает массив с координатами точек для каждой серии.
Итак, допустим, нам нужно нарисовать геометрическую фигуру поверх графика (к примеру, с помощью drawRectangle) или подписать отдельную точку графика (drawText). Для этого нам нужны пиксельные координаты точек (PixelOffset). Получаем их примитивнейшим способом.
Открываем класс pDraw (classes/pDraw.php). Находим метод класса, который отрисовывает наш график (у меня это drawPlotChart). В начале добавляем строчку:
$PixelOffsetCoordinates = array();
Далее спускаемся чуть ниже, находим строку:
if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
{
Внутри фигурной скобки добавляем:
$PixelOffsetCoordinates[$SerieName]=array();
Далее, после строчки
foreach($PosArray as $Key => $Y)
{
Вставляем:
$PixelOffsetCoordinates[$SerieName][$Key]=array($X,$Y);
И ещё раз вставляем эту же строку чуть ниже, после
foreach($PosArray as $Key => $X)
{
Остаётся только вернуть полученные значения. Перед последней фигурной скобкой, закрывающей метод, вставляем:
return $PixelOffsetCoordinates;
Всё. Теперь наш метод $myPicture->drawPlotChart() возвращает массив с координатами точек для каждой серии.
Комментариев нет:
Отправить комментарий